在返回当前请求的响应之前,node express可以服务于下一个请求吗?

时间:2018-07-12 07:13:55

标签: node.js express

我想知道nodejs是否需要在提供下一个请求之前完成对当前请求的响应。在其他任何地方都找不到我的问题的答案。

谢谢。

1 个答案:

答案 0 :(得分:0)

Nodejs之所以称为单线程,是因为所有请求都由一个线程来处理(我们称此线程为main)。

让我们说您的两个请求正在服务器中: 请求1->必须读取一个大文件(比如说大约100MB),然后解析结果,然后返回值 请求2->获取2 + 2的结果,然后返回响应

从请求中我们可以看到请求1将花费很多时间,而请求2则不会。

如果您正确编写了代码,即使用异步编程,则Request1将由main以外的其他线程处理,如果Request2到来,它将在Request1之前得到响应。

如果未编写正确的代码,则直到Request1的处理完成后,才会处理Request2。

我希望这能回答您的问题。