0
如果請求的持續時間超過10秒,下面的代碼將中止請求。在http請求中設置基於套接字的超時
是否可以使用http
模塊在請求上設置基於socket
的超時?
此外,我應該使用套接字和請求超時?
var abortRequestError;
var timeout = 10000;
var requestObject = {
host: 'xx.xx.xx.xx',
path: '/api',
port: 10000,
method: 'GET'
};
var req = http.request(requestObject, function(res) {
var responseBody = '';
res.on('data', function(data) {
responseBody += data;
});
res.on('end', function() {
console.log(abortRequestError);
});
}).on('error', function(error) {
error = abortRequestError ? abortRequestError : error;
console.log(error);
}).setTimeout(timeout, function() {
abortRequestError = new Error('Request timed out');
req.abort();
});
你的意思是連接超時? – elmigranto
只有當數據流中斷10秒時纔會被認爲中斷。是否連接超時? – bobbyrne01
您的代碼爲您想要實現的功能調用正確的函數 - 套接字空閒時超時;也許問題在別處。你想達到什麼目標,究竟哪些方法無效? – elmigranto