![](/img/trans.png)
[英]What does it mean in node.js by http.ClientRequest implements an interface?
[英]Node http.ClientRequest does not fire “error” event
我有以下javascript node.js代码:
var options = {
host: "x.y.z"
,path: "/api/abc/"
,method: "GET"
};
var req = http.request(options);
req.on('response' , function(data) {
console.log("response: ",data.statusCode);
done();
});
req.on('error' , function() {
console.log("error");
done();
});
req.end();
当发生实际的HTTP请求错误时,我无法收到error
事件。 我想念什么?
初步发现:似乎失败案例“服务器未响应”(例如由于网络问题)不会引发任何事件。 因此,解决方法是创建一个“计时器”并自己捕获此条件。
尝试使用if / else语句代替两个独立的函数。
if(response you want && response.statusCode = 200){
//logic
} else {
//console.log("error")
}
您应该在请求中创建自己的Timeout函数。 实际上,我认为经过很多时间(也许是一分钟?)后,请求将失败。 但是,如果您需要更早的功能,则可以检查该线程是否要求相同的内容:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.