我想知道nodejs是否需要在提供下一个请求之前完成对当前请求的响应。在其他任何地方都找不到我的问题的答案。
谢谢。
答案 0 :(得分:0)
Nodejs之所以称为单线程,是因为所有请求都由一个线程来处理(我们称此线程为main)。
让我们说您的两个请求正在服务器中: 请求1->必须读取一个大文件(比如说大约100MB),然后解析结果,然后返回值 请求2->获取2 + 2的结果,然后返回响应
从请求中我们可以看到请求1将花费很多时间,而请求2则不会。
如果您正确编写了代码,即使用异步编程,则Request1将由main以外的其他线程处理,如果Request2到来,它将在Request1之前得到响应。
如果未编写正确的代码,则直到Request1的处理完成后,才会处理Request2。
我希望这能回答您的问题。