【问题标题】:Node.js http.get 404 kills the appNode.js http.get 404 杀死应用程序
【发布时间】:2013-06-30 17:27:15
【问题描述】:
我成功地在 node.js 中使用 http.get 编写了应用程序。问题是,如果页面不存在,它会产生终止应用程序的错误。有什么方法可以声明超时。超时后它应该停止等待响应并让应用程序继续(如果同步写入)
谢谢大家的建议...
【问题讨论】:
标签:
node.js
http
get
kill
【解决方案1】:
我认为您正在尝试通过 http.get 检索信息。
-
您可以使用响应状态代码查看验证。
http.get(url, function(res) {
if (res.statusCode !== 200) {
Your custom handler
} else {
var body = '';
res.on('data', function(chunk) {
body += chunk;
});
res.on('end', function() {
console.log(body);
});
}
}).on('error', function(e) {
console.log("error: ", e);
});
一个完全实现的例子可以在她的https://gist.github.com/pasupulaphani/9630789找到
-
如果请求时间过长,您可以设置超时并发出错误/中止,但这必须在应用程序逻辑中完成。
在其他帖子中找到了一个更好/更复杂的解决方案来处理超时:
https://stackoverflow.com/a/12815321/2073176