如果设置http.get超时控制

var timeout_wrapper = function (req) {
return function () {
// do some logging, cleaning, etc. depending on req
req.abort();
};
};

但这种可能不够灵活,更高级的:

var timeout_wrapper = function (req) {
return function () {
// do some logging, cleaning, etc. depending on req
req.abort();
};
}; var request = http.get(options, function (res) {
res.on('data',function (data) {
file.write(data);
// reset timeout
clearTimeout(timeout);
timeout = setTimeout(fn, 10000);
}).on('end',function () {
// clear timeout
clearTimeout(timeout);
file.end();
console.log(file_name + ' downloaded ');
cb(null, file.path);
}).on('error', function (err) {
// clear timeout
clearTimeout(timeout);
console.log("Got error: " + err.message);
cb(err, null);
});
}); // generate timeout handler
var fn = timeout_wrapper(request); // set initial timeout
var timeout = setTimeout(fn, 10000);
上一篇:Win7+Ubuntu双系统时间不一致


下一篇:Ubuntu系统修改BIOS时间问题