NodeJS Express应用程序阻塞请求处理中的异步等待模式

67up9zun  于 2023-06-29  发布在  Node.js
关注(0)|答案(1)|浏览(135)

在下面的simple express应用程序中,我想模拟一个具有延迟的长时间运行的任务。
正如我所知,在nodejs中,当遇到await时,主线程应该处理其他请求,但我看到服务器一个接一个地处理多个请求。
如何让它同时服务请求?
环境:OS:macOS NodeJS:19.7

const express = require('express')
const app = express()
const port = 3008

app.get('/', async (req, res) => {
console.log("req in");
await new Promise(r => setTimeout(r, 2000));
console.log("await done");
res.send('a');
})

app.listen(port, () => {
  console.log(`Example app listening on port ${port}`)
})```


It should handle request simultaneously.
lmyy7pcs

lmyy7pcs1#

异步意味着当你await线程是自由的,并处理其他任务。你的代码一切正常。

相关问题