我正在使用node.js和express。我打开了一个REST API
app.get('/pushtoqueue/:id', function(req, res){
//do something
callFunction(data, function(){
//Do sequential execution
});
}
当REST收到请求时,它会调用callFunction
,此函数需要按顺序执行。这意味着,当REST被调用时,应该处理第一次请求,而callFunction
正在执行,如果另一个请求到达callFunction
,应该排队,直到第一次执行完成,等等以便将来有更多请求。
我如何在node.js中实现这一点。有没有办法对请求进行排队?
答案 0 :(得分:0)
您需要使用自动执行其元素的队列。如果队列为空,则在您按下第一个任务时会立即执行该任务。当任务正在执行时,可能会推送另一个任务,因此它不是被执行而是被排队。
我有一个完成此操作的模块:deferred-queue