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

问题描述 投票:-1回答:1

我需要在async.forEachOfSeries完成其任务之后调用一个函数。我有一个名为rows的对象。它包含postId和其他信息。我需要在函数abc()中进行请求,以获取对该特定帖子的评论并将其保存在数据库中。如果抓取完成,则我呼叫callback()来请求rows中的下一个帖子。循环结束后,我需要调用函数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();
}

javascript node.js asynchronous async.js
1个回答
0
投票

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

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

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

所以,代替

...
  });

  xyz();

您会写

...
  }, xyz);
© www.soinside.com 2019 - 2024. All rights reserved.