如何停止在node.js的异步中执行错误瀑布?

如何停止在node.js的异步中执行错误瀑布?,node.js,async.js,waterfall,Node.js,Async.js,Waterfall,我正在使用异步模块和瀑布方法 async.waterfall([ function(callback) { ... callback(err); }, function(result, callback) { console.log("This function should not be executed"); } ], function(er

我正在使用异步模块和瀑布方法

async.waterfall([
        function(callback) {
            ...
            callback(err);
        },
        function(result, callback) {
            console.log("This function should not be executed");
        }
    ],
    function(err) {
        if (err) {
            next(err);
            return;
        }
    }
);

但是第二个函数总是执行。如何防止它?

尝试添加一个
返回值

async.waterfall([
        function(callback) {
            ...
            return callback(err); //note return here
        },
        function(result, callback) {
            console.log("This function should not be executed");
        }
    ],
    function(err) {
        if (err) {
            next(err);
            return;
        }
    }
);

尝试添加一个
return

async.waterfall([
        function(callback) {
            ...
            return callback(err); //note return here
        },
        function(result, callback) {
            console.log("This function should not be executed");
        }
    ],
    function(err) {
        if (err) {
            next(err);
            return;
        }
    }
);

不应该。确保
err
是一个真实的值。确保在提前调用回调时始终返回,否则在许多情况下会导致多次回调和不可预测的行为-这里的建议是:caolan.github.io/asyncIt不应返回。确保
err
是一个真实值。确保在提前调用回调时始终返回,否则在许多情况下会导致多次回调和不可预测的行为-此处的建议:caolan.github.io/async