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。我認爲這是問題。 –