如何在完成系列后调用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);
});
如何调用callback2?如果我这样调用,则不会调用callback2。
答案 0 :(得分:0)
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);
});