javascript - async.forEachOfSeries 完成任务后如何调用函数
问题描述
我需要在 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();
}
解决方案
https://caolan.github.io/async/v3/docs.html#eachOfSeries
您目前正在将两个参数传递给.eachOfSeries
; 看起来你可以xyz
作为第三个参数传递。
(rows
是你的第一个参数,你的匿名函数(que, key, callback)
是你的第二个参数。)
所以,而不是
...
});
xyz();
你会写
...
}, xyz);
推荐阅读
- c# - System.Data.Entity.Core.MappingException,概念端的 abc 不能映射到对象端的类型“System.Enum”
- java - 为什么一直重印菜单提示,后面跟着,monitor语句。我需要它重新启动并再次运行,直到使用进入退出。
- basic - Visual Basic 输出
- python-3.x - sqlite3.OperationalError:靠近“The”:语法错误/参数化 sql
- mongodb - Mongoose 通过不替换 ID 字段自动递增
- android - 在 Kotlin 中使用 Generic 时发现类型不匹配
- sql - 在 SQL 中将行更改为列
- java - 来自 Ubuntu 16 的 java 中的 ZeroMQ 绑定
- xml - XSLT:多次复制嵌套元素
- laravel-5 - 如何将多维数组转换为内爆值的索引数组?