【问题标题】: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 检索信息。

  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. 如果请求时间过长,您可以设置超时并发出错误/中止,但这必须在应用程序逻辑中完成。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-19
    相关资源
    最近更新 更多