首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当用作模块时,如何使json-server延迟响应?

当用作模块时,如何使json-server延迟响应?
EN

Stack Overflow用户
提问于 2017-04-01 14:09:24
回答 1查看 6.2K关注 0票数 9

json-server允许通过命令行配置响应延迟:

代码语言:javascript
运行
复制
json-server --port 4000 --delay 1000 db.json

当使用json-server作为一个模块时,如何尝试这样做呢?以下内容不起作用:

代码语言:javascript
运行
复制
const jsonServer = require('json-server')
var server = jsonServer.create();

server.use(jsonServer.defaults());
server.use(jsonServer.router("db.json"));
server.use(function(req, res, next) {
    setTimeout(next, 1000);
});

server.listen(4000);

它只是完全忽略setTimeout函数,而不执行它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-01 14:22:57

命令很重要。中间件应该在路由器之前。如果您在server.use(jsonServer.router("db.json"));之前移动超时,它应该可以工作。

下面是我的工作示例:

代码语言:javascript
运行
复制
var app = jsonServer.create();
var router = jsonServer.router(path.join(__dirname, '../../test/api/dev.json'));
var middlewares = jsonServer.defaults();

app.use(function(req, res, next){
  setTimeout(next, 10000);
});
app.use(middlewares);
app.use(router);

server = app.listen(3000, function () {
  console.log('JSON Server is running on localhost:3000');
  done();
});
票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43157899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档