我想一一回应客户的要求。 考虑以下代码:
let i = 1;
router.post("/test", (req, res) => {
// Wait for response to previous request from another client (If there is)
console.log(i)
setTimeout(function() {
i++
return res.json(true);
}, 10000);
});
我想响应两个连续的请求,如下所示:
在0秒钟内:日志1
并且在答复上一个请求后
在10秒钟内:日志2
答案 0 :(得分:0)
https://caolan.github.io/async/v3/docs.html#queue
这不能处理回调中的错误,但是您对机器有所了解。
const async = require('async')
var q = async.queue(function(task, callback) {
task.res.json(true)
callback();
}, 1); // concurrency 1
let i = 1;
router.post("/test", (req, res) => {
q.push({res}, (err) => console.log(i++))
});
这是您要寻找的吗?
顺便说一句,很好地做您的问题的例子。