如何使用Node和Express设置非阻塞延迟响应?

时间:2016-06-16 13:41:24

标签: javascript node.js express

我试图在500ms过后向浏览器发送延迟响应。

app.post('/api/login', function(req, res) {
    setTimeout(function() {
        res.json({message: "Delayed for half a second"});
    }, 500);
});

从上面可以看出,我有一个简单的post请求。我正在使用setTimeout()来延迟响应,虽然不确定这是否是NodeJS的方式,通过保持所有“非阻塞”。

如何在保持代码无阻塞和异步的同时延迟我的HTTP响应?

1 个答案:

答案 0 :(得分:-1)

它正是你所做的 你使用setTimeout延迟了http响应500ms,这是非阻塞的 例如,如果您要执行一个长时间运行的代码,阻止一种方法使其无阻塞,则使用setTimeout并传递000ms

setTimeout(function(){
//do some long running staff
}, 0);

希望这能让你有更深入的了解