嗨
我有接受兩個數組和回調函數的函數,我使用async.each遍歷其中一個數組(並嘗試使用async.forEach並且兩者都有相同的結果),一切正常,但我作爲參數接收的回調,作爲第三個參數發送,在第一次迭代後觸發。這是我的代碼。async.each/forEach每個間隔後觸發第三個參數(回調)
function itemLikes(instruments,likes, finalCallback){ var items = []; if(instruments.length >= 1){ async.forEach(instruments, function(instrument,cb){ if(likes){ if(likes.indexOf(instrument._id.toString()) !== -1){ instrument.liked = 1; cb(items.push(instrument)) } else{ cb(items.push(instrument)) } } else{ cb(items.push(instrument)) } }, function(err){ finalCallback(items) }) } else{ finalCallback(items) }
}
這是我從文檔的理解,但我的finalCallback被觸發我的第一次迭代完成之後。
感謝和問候。
嗨似乎要傳遞同樣喜歡作爲一個數組,而你最初定義喜歡作爲函數 –
@VivekBajpai,我爲了簡潔而改變了函數的名字,我想我不應該那樣做。 – Babar