nodeJS表示超时实际上做了什么?

时间:2018-01-31 20:40:18

标签: node.js express

我最近在重构一些代码,并在server.js中遇到了这段代码。

我一直在寻找文档,但仍然有一些悬而未决的问题。

const server = app.listen(port, function () {
    console.log('Server started on port ' + port);
});

server.timeout = 600000   // 6 mins.

上面server.timeout实际做了什么?如果响应必须在6分钟内超时,我的下载API如何仍然有效?每次下载都需要10多分钟才能完成下载。此外,我在下载完成后将响应发送回客户端。

1 个答案:

答案 0 :(得分:2)

来自express docs

  

{{1}}方法返回http.Server对象

来自Node.js docs

  

假定套接字超时之前,不活动的毫秒数。

强调添加

这意味着如果有主动流式下载,则此属性将不适用。它仅适用于客户端未接收到ACK 6分钟的套接字。