一尘不染

如何修改Node.js请求的默认超时时间?

node.js

我正在使用节点/快速服务器。express的默认超时为120,000 ms,但这对我来说还不够。当我的响应达到120,000
ms时,控制台将记录日志POST /additem 200 120006ms,并且页面显示错误,因此我想将超时设置为更大的值。我该怎么办?


阅读 735

收藏
2020-07-07

共1个答案

一尘不染

express考虑到问题中的日志,我假设您正在使用。关键是timeout在服务器上设置属性(以下将超时设置为一秒钟,使用您想要的任何值):

var server = app.listen(app.get('port'), function() {
  debug('Express server listening on port ' + server.address().port);
});
server.timeout = 1000;

如果您不使用express,而仅使用普通节点,则原理是相同的。以下将不返回数据:

var http = require('http');
var server = http.createServer(function (req, res) {
  setTimeout(function() {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello World\n');
  }, 200);
}).listen(1337, '127.0.0.1');

server.timeout = 20;
console.log('Server running at http://127.0.0.1:1337/');
2020-07-07