【发布时间】:2018-02-09 13:45:55
【问题描述】:
我有一个 async.each 迭代一个数组,并且对于数组中的每个元素,它执行一个内部有请求的函数“检查”。这是代码,但是当我运行它时,我从调试器中看到节点没有执行检查功能并且它阻止了它的执行。
async.each(array,
function(v_page, callback){
if(v_page.url.length>=5){
internals.check(v_page.url,array2, function (body) {
callback();
});
}
},
function(err){
internals.calls(var1,var2,var3);
});
我尝试了一个普通的 for 循环,但它跳转到了 internals.calls 函数,而没有执行 internals.check 函数来了解节点的异步性质。那么如何强制执行检查功能呢?
这是检查函数的代码:
internals.check = (url,array2,cb) => {
request(url, function(err, recordset) {
if(err){
cb(array2);
}else {
//some stuffs
cb(array2)
}
});
};
【问题讨论】:
标签: javascript node.js foreach async.js requestjs