1
我有一个关于在插座的NodeJS超时问题。快递Http请求超时
在第一时间,我添加了如下因素代码:
req.socket.once('timeout', function(err) {
imports.logger.warn('Express socket timeout.', err);
res.status(504).end('Connection timeout');
});
而且我在控制台登录经常Express插槽超时错误加载页面后很长一段时间。 所以(调试),我尝试加入这一行:
req.socket.setTimeout(4000);
最后,我看到我的所有要求在4秒后处理Express插槽超时。 我在网上搜索,我发现了很多信息,但我仍然不明白。
我不明白,关闭该请求不还关闭套接字为什么res.json()函数。与保持活力有关联吗?与网络套接字的链接?
如果是到网络插座的链接什么是最好的初步实践?我应该关闭插座和(如果是的话)在哪里?
如果有必要,你可以看到我的简单快捷航线代码:
app.get(apiUrl + '/:id', function (req, res) {
NewsFeed.findById(req.params.id, function (err, newsFeed) {
if (err) {
return app.error(res, 404, 'Error 404: No news found');
}
res.json(formatNewsFeed(newsFeed));
});
});
好,谢谢。但我不确定这是expressjs抛出套接字超时异常的正常行为。在我的其他项目中,我从来没有用expressjs来解决这个问题。 – jeremieca