Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Continu after error event Node.js Webkit_Node.js_Node Webkit - Fatal编程技术网

Continu after error event Node.js Webkit

Continu after error event Node.js Webkit,node.js,node-webkit,Node.js,Node Webkit,我的应用程序旨在扫描代理列表。 当我有一个死代理时,错误事件是call,但回调或结束事件是never call,为什么 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)

我的应用程序旨在扫描代理列表。 当我有一个死代理时,错误事件是call,但回调或结束事件是never call,为什么

    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';
    });

看起来您正在使用异步库

传递给
async的迭代器。无论是否有错误,每个
都要求调用回调。如果不调用回调,async将假定操作仍在运行,并将永远等待

当遇到错误时,应该调用回调并将错误作为第一个参数传递

这里有一个例子来说明我的意思。我添加了
callback(e)到错误事件处理程序

    }).on('error', function(e) {
        console.error(arr[0] + ':' + arr[1]);
        callback(e);
    }).on('end', function(e) {

谢谢,但是如果我调用回调,每个循环都会停止吗?我想继续迭代,即使我有错误。我想在停止之前解析文件的每个ip如果要继续迭代而不在出错时终止,只需调用回调而不出错<代码>回调()