3
我有一个async.each迭代一个数组,并为数组内的每个元素执行一个函数“检查”,其中有一个请求。这是代码,但是当我运行它时,我从调试器看到该节点不执行检查功能,并且阻止其执行。如何强制使用nodejs执行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);
});
我试图用一个正常的循环,但它在internals.calls功能跳不执行internals.check功能节点的异步性质。那么我如何强制执行检查功能呢?
这是检查功能的代码:
internals.check = (url,array2,cb) => {
request(url, function(err, recordset) {
if(err){
cb(array2);
}else {
//some stuffs
cb(array2)
}
});
};
谢谢,我加了,但没有任何改变,首先我没有解决的问题......它不执行检查功能。 –
更新了答案,您在'internals.check'函数中有一个错误。 – alexmac
好的我修复了回调错误,但是从调试器中我看到它进入了检查函数内部,并且当它到达请求时,它跳转到函数的末尾,所以它看不到回调cb。我认为这是问题。 –