我有一个异步队列,我正在向其中推送一些东西。我生成需要推入队列的项目的方式是通过遍历数据对象中的几个嵌套列表。队列最终会处理所有内容,但由于某种原因,我无法通过 console.log('All done.')
访问我的主回调函数。我已经删除了大部分不必要的内容,只留下了异步内容。我做错了什么?我漏掉了什么吗?
var q = async.queue(function(task, callback) {
console.log('hello ' + task);
callback();
}, 2);
function A(data) {
B(data, function() {
// THIS ISN'T getting called.
console.log('All done.');
})
}
function B(data, callback1) {
var list = [[1,2], [3,4], [5,6]];
async.each(list, function(item, callback1) {
async.each(item, function(i, callback2) {
doWork(i, function() {
console.log('Work done');
})
callback2();
},
// THIS should be called when everything in this each is done.
callback1)
})
}
function doWork(i, callback3) {
q.push(i, callback3);
}