当服务器忙于处理每个请求的大操作时,node.js如何处理数千个请求?其他客户端是否应该等待服务器完成每个请求的操作?
const express = require('express');
const app = express();
app.get('/small', (req, res, next) => {
res.send('posts');
});
app.get('/big', (req, res, next) => {
console.time('test');
for (let i = 0; i < 100000; i++) {
console.log(i);
}
res.send('comments');
console.timeEnd('test');
});
app.listen(5555, '127.0.0.1', undefined, () => {
console.log(`Listening to port 5555`);
});
答案 0 :(得分:0)
NodeJs与后台的单线程多工作者异步工作。 Node JS应用程序使用“单线程事件循环模型”体系结构来处理多个并发客户端。因此,客户端无需等待先前的请求完成。
它使用回调代替常规的“返回”。您可以阅读异步等待以获取更多详细信息。 为了更好地了解您可以观看此视频。 https://www.youtube.com/watch?v=KsjrN-T3ZCs