嗨
我有接受两个数组和回调函数的函数,我使用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