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

标签 javascript json node.js json-server

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

json-server --port 4000 --delay 1000 db.json

当使用 json-server 作为模块时,如何尝试做到这一点?以下不起作用:

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 函数并且不执行它。

最佳答案

顺序很重要。中间件应该位于路由器之前。如果您将超时时间移到 server.use(jsonServer.router("db.json")); 之前,它应该可以工作。

这是我的工作示例:

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();
});

关于javascript - 当用作模块时,如何让 json-server 延迟响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43157899/

相关文章:

javascript - 通过构造函数在 Breeze 中使用 observableArray 扩展实体时出错

javascript - 我可以从我的 Chrome 扩展程序中获取可用语言环境翻译的列表吗?

javascript - 如何解析 JSON 对象并将值作为字符串显示在屏幕上?

javascript - ldapjs - LDAP 连接错误处理

javascript - Ajax 。发送数据到php文件

javascript - Ajax 发送 FormData 并检索多维数组

javascript - 实时流程图不适用于 JSON

javascript - jquery jsonp 不工作

macos - ~/.npm 目录是干什么用的?

javascript - 如何使用 mocha sinon 模拟类异步/等待函数