alo*_*kad 5 javascript sockets node.js
我正在使用请求模块向第 3 方 API 发送请求(GET 和 POST)。
我正在使用超时选项来限制响应的等待时间(不能等待太久)。
问题是有时会抛出以下异常:
错误:socket 在 createHangUpError (http.js:1476:15) at Socket.emit (events.js:117:20) at TCP.close (net.js) 的 Socket.socketCloseListener (http.js:1526:23) 挂断:465:12)
我猜这是因为请求被中止(由于超时)但套接字仍然打开并在 2 分钟后挂断。
问题是 - 当请求中止或如何捕获此异常并优雅地处理它时,我该怎么做才能关闭套接字。
这是我使用的相关代码:
var request = require('request'),
requestOptions = {
url: 'http://example.com/api',
timeout: 1000
};
request(requestOptions, function onResponse(error, response, body) {
if (error) {
//Trying to close the socket (to prevent socket hang up errors)
//**Doesn't help**
this.req.socket.destroy();
this.req.destroy();
return;
}
//Handle the response
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
707 次 |
最近记录: |