0
我的應用程序旨在掃描代理列表。 當我有一個死代理錯誤事件是調用,但回調或結束事件是永遠不會調用,爲什麼?錯誤事件後繼續Node.js Webkit
var file = e.dataTransfer.files[i].path;
content = fs.readFileSync(file, "UTF-8");
var lines = content.split("\n");
var nb = 0;
async.each(lines, function(line, callback) {
var arr = line.split(":");
http.get({host: arr[0], port: arr[1], path: "http://www.google.fr", agent: false}, function(res, req) {
if(res.statusCode == 200){
el.className = '';
el.innerHTML = arr[0] + ':' + arr[1] + '\n';
nb = nb+1;
}
callback();
}).on('error', function(e) {
console.error(arr[0] + ':' + arr[1]);
}).on('end', function(e) {
console.error('End event nerver load...');
});
},function(){
el.className = '';
el.innerHTML = 'Scan terminé. ' + nb + ' Proxy fonctionnels';
});
謝謝,但如果我打電話回調每個循環將停止?我想繼續迭代,即使我得到一個錯誤。我想在停止之前解析每個文件的ip – Pixel
這就是async.each的工作原理。 – Mikuso
如果您想繼續迭代而不終止錯誤,只需調用沒有錯誤的回調。 '回調();' – Mikuso