node.js如何同时处理数千个请求?其他客户是否需要等待?

时间:2019-05-10 02:37:42

标签: node.js express server

当服务器忙于处理每个请求的大操作时,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`);
});

1 个答案:

答案 0 :(得分:0)

NodeJs与后台的单线程多工作者异步工作。 Node JS应用程序使用“单线程事件循环模型”体系结构来处理多个并发客户端。因此,客户端无需等待先前的请求完成。

它使用回调代替常规的“返回”。您可以阅读异步等待以获取更多详细信息。 为了更好地了解您可以观看此视频。 https://www.youtube.com/watch?v=KsjrN-T3ZCs