#1.
TLENS
Off
(14)
Moderator
2015.10.14 15:03
Есть программа подключающаяся longPollServer vk и ждет события,
но если умышленно отключится от интернета то программа падает напрочь.
Не пойму как выхватить данный эксепшен не перехватывая его в process.on()
Код:
this.request = function (url, callback) { |
var parseUrl = URL.parse(url); |
var option = { |
protocol: parseUrl.protocol, |
hostname: parseUrl.hostname, |
port:parseUrl.port, |
path:parseUrl.pathname, |
agent:false |
}; |
var output = ""; |
var status; |
var headers; |
var req = (parseUrl.protocol == "https:" ? https: http).get(url, function(res) { |
|
status = res.statusCode; |
headers = res.headers; |
res.setEncoding('utf8'); |
res.on('data', function(d) { |
output += d; |
}) |
.on('end', function () { |
|
if (status == 200) { |
callback(output); |
} |
else { |
console.log({error: 'status', status: status}); |
self.request(url, callback); |
} |
}); |
}) |
.on('error', function(e) { |
console.log({errConn: e}); |
|
setTimeout(function () { |
self.request(url, callback); |
}, 5000); |
return true; |
}); |
|
}; |
Если попытаться соединится при отключенном интернете то все норм срабатывает
Код:
req.on('error', function(e) { |
console.log({errConn: e}); |
|
setTimeout(function () { |
self.request(url, callback); |
}, 5000); |
return true; |
}); |
но как быть когда соединение уже установилось но потом разорвалось?