【发布时间】:2014-01-27 14:11:46
【问题描述】:
我正在使用 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 中实现这一点。有没有办法排队请求?
【问题讨论】:
-
不确定这里有什么问题。 Nodejs 在单线程中工作,默认情况下所有内容都排队。在您的示例中,您应该必须从
callFunction回调中发送响应,如果您想要更多控制,您可以使用 asyncjs。