在下面的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.
1条答案
按热度按时间lmyy7pcs1#
异步意味着当你
await
线程是自由的,并处理其他任务。你的代码一切正常。