Node.js http.get 404杀死了应用程序

时间:2013-06-30 17:27:15

标签: node.js http get kill

我在使用http.get的node.js中成功编写了应用程序。问题是,如果页面不存在,则会产生终止应用程序的错误。有什么方法可以声明超时。超时后它应该停止等待响应并让app继续(如果同步写入) 感谢所有建议...

1 个答案:

答案 0 :(得分:0)

我正在回答您正在尝试通过http.get检索信息。

  1. 您可以使用响应状态代码查看验证。

    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

  2. 找到完整实施的示例
  3. 如果请求时间过长,您可以设置超时并发出错误/中止,但这必须在应用程序逻辑中完成。

    找到一个更好/更复杂的解决方案来处理其他帖子中的超时: https://stackoverflow.com/a/12815321/2073176