是否可以提前完成 async.js 循环?

Is it possible to finish async.js loop early?

我正在寻找一种方法来在调用所有回调之前尽早完成 async.js 循环。是否有任何内置功能可以这样做?如果没有,是否有任何方法可以实现所需的功能?

async.forEachOf(children, function(child, i, cb){

    if (condition == true) {

        // finish early - call cb() for all iterations

    }

    cb()

}, function(err){


})

是的,这是可能的,您应该像这样将错误参数传递到您的回调函数中:

async.forEachOf(children, function(child, i, cb){
    ....
    cb(condition)
}, function(err){
   // Error handling
})

如果条件为真,循环将停止。

async.forEachOf documentation