async.forEachOfSeries 完成任务后如何调用函数

How can I call a function after async.forEachOfSeries completes it's task

我需要在 async.forEachOfSeries 完成任务后调用函数。我有一个名为 rows 的对象。它包含 postId 和其他信息。我需要在函数 abc() 中发出请求以获取特定 post 的评论并将它们保存在数据库中。如果抓取完成,我会调用 callback() 请求 rows 中的下一个 post。循环结束后,我需要调用函数 xyz()。这是示例代码:

function loopTest(){
    async.forEachOfSeries(rows, function (que, key, callback) {
        function abc(){
            //make request to facebookto get comments and stores in database
        }
        if(!commentCrawlingDone)
        {
            abc();
        }
        else{
            callback();
        }
    });

    xyz();
}

https://caolan.github.io/async/v3/docs.html#eachOfSeries

您目前正在向 .eachOfSeries 传递两个参数;看起来您可以将 xyz 作为第三个参数传递。

rows 是您的第一个参数,采用 (que, key, callback) 的匿名函数是您的第二个参数。)

所以,而不是

...
  });

  xyz();

你会写

...
  }, xyz);