在http.request的nodejs中是否存在默认超时

mdu*_*sch 8 node.js

在nodejs中,服务器(传入的http请求)的默认超时为 120000(2分钟)(参见:http://nodejs.org/api/http.html#http_server_timeout)

但是,如果在docs 中的nodejs(http.request)执行http请求,我只会找到一个函数(http://nodejs.org/api/http.html#http_request_settimeout_timeout_callback)来手动设置超时.

任何人都知道nodejs中的http请求是否有默认超时?或者nodejs尝试发送http请求没有结束?

Som*_*ens 14

您想要设置server.timeout属性(默认为120,000,如您所见).

  • Node.js 13 删除了默认超时。(https://github.com/nodejs/node/pull/27558) (6认同)
  • 不,我问是否有 http.request 的默认超时属性(不是服务器) (2认同)

bea*_*tak 7

我也对这个很感兴趣。通过阅读代码,Node.js 在 http 请求的引擎盖下(自然地)使用了 Socket。(下面的源链接在我写这篇文章时指的是 v8.8.0)

https://github.com/nodejs/node/blob/master/lib/_http_outgoing.js

并且Socket默认没有超时这个文档

https://nodejs.org/dist/latest-v6.x/docs/api/net.html#net_socket_settimeout_timeout_callback

消息来源也是如此。

https://github.com/nodejs/node/blob/master/lib/net.js