节点JS Express模块​​是否异步处理请求?

问题描述:

我是NodeJs和Express服务器的新手。 我有一个简单的应用程序,处理请求:节点JS Express模块​​是否异步处理请求?

app.post('/addToken', tokens.addToken); 
app.post('/sendNoti', iosNotification.sendNotification);` 
app.get('/allNames', names.babyNames);` 

var server = app.listen(8081, function() { 

    var host = server.address().address 
    var port = server.address().port 

    console.log("server listening at http://%s:%s", host, port) 
}) 

如果我将创建客户端3 http请求,并执行它们一前一后这是否模块将并行执行,然后或一前一后?

是的,如果您在承诺列表中创建它们。它允许你同时启动所有的http请求,然后等待他们的答案。就像你会为线程做的一样。

看到如何异步设置它们

https://strongloop.com/strongblog/promises-in-node-js-with-q-an-alternative-to-callbacks/

+0

我想客户端在请求创建时independet并没有确认他为特定类型的创作。有没有办法确保服务器端的异步? – idanuda

+0

我会说,默认情况下,它不是在服务器端的异步,你必须这样做。通过自己做,或通过使用npm库如https://www.npmjs.com/package/express-promise – guiguiblitz

不,快递不处理请求,本教程。您创建的3个http请求将一个接一个地执行,因为只有一个主线程。

只有I/O操作异步发生。