Async.forEach 调用回调

Async.forEach call the callback

本文关键字:回调 调用 forEach Async      更新时间:2023-09-26

完成系列后如何调用foreach回调?

我的代码:

async.forEach(rowsIni, function (row, callback2) {
    strQuery = "SELECT ...";
    DB.query(strQuery, row, function (err, rows) {
        if (err) {
            console.log("SQL Error(SELECT) > " + err.message);
        } else {
        async.series([
            function (callback) {
                async.parallel([
                    function (callback) {
                        callback();
                    },
                    function (callback) {
                        callback();
                    }
                 ], function (err) {
                     callback();
                 });
            },
            function (callback) {
                callback();
            }
        ], function() {
            callback2
        });
        }
    });
}, function (err) {
    if (err) {
        console.log("ASYNC Error > " + err.message);
    }
    console.log('END OF FOREACH');
    callback(otherFunction);
});

如何调用回调2?如果我这样调用,则不会调用回调 2。

async.series([...], function() {
    callback2 // does nothing
})

你实际上并没有打电话给callback2.使用callback2()(调用它)或

async.series([...], callback2);

只传递回调函数。

编辑:

async.eachSeries(rowsIni, function (row, callback2) {
    ...
    async.series([
        function (callback) {
            async.parallel([
                ... functions
            ], callback);
        },
        function (callback) {
            callback();
        }
    ], callback2);
});