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

Does Node JS Express module handle Requests Asynchronously?

本文关键字:异步 处理 请求 是否 模块 JS Express 节点      更新时间:2023-09-26

我是NodeJs和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/

不,Express 不会异步处理请求。您创建的 3 http 请求将一个接一个地执行,因为只有一个主线程。

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