【问题标题】:Can node express serve the next request before returning a response for the current request?node express 能否在返回当前请求的响应之前处理下一个请求?
【发布时间】:2018-07-12 16:15:24
【问题描述】:

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

提前致谢。

【问题讨论】:

  • 不,它使用回调处理下一个。
  • @eduPeeth 可能有多种情况,在我已经解释过的其中一种情况下会发生相关情况。

标签: node.js express


【解决方案1】:

Nodejs 被称为单线程,因为所有请求都由一个线程处理(我们称这个线程为 main)。

假设您的两个请求来自服务器: 请求 1 -> 必须读取一个大文件(假设大约 100MB)然后解析结果然后返回值 请求 2 -> 获取 2+2 的结果,然后返回响应

从请求中我们可以看出,请求 1 将花费大量时间,而请求 2 则不会。

如果你写的代码正确,即使用异步编程Request1将由另一个线程而不是main处理,那么如果Request2来了,它将在Request1之前得到响应。

如果没有编写正确的代码,Request2 将不会被处理,直到 Request1 的处理完成。

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

【讨论】:

    猜你喜欢
    • 2016-03-19
    • 2019-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-20
    • 1970-01-01
    • 2018-08-11
    相关资源
    最近更新 更多