forEach,我正在使用async庫。在foreach循環中,我將調用不同的服務並獲取數據。這些數據應該是爲了處理它在我看來,因爲這些是一些衣服的細節,需要按順序。所以我試圖通過在外部服務回調中添加done()
來使foreach循環同步。嘗試使用async.forEach Serial但失敗 - Node.js
var address_deails = [];
var x = 0;
async.forEach(lat_long, function (item, done) {
external_servie(item,config,function (err, data) {
if (err) {
callback(err, null);
} else {
//code here .......
address_deails[x] = //some_data;
}
x++;
done(); <------------- Here
});
}, function(err) {
if(err) {
callback(err,null)
} else {
callback(err,address_deails)
}
});
但我每次都以不同的順序獲取值。我想獲得像0,1,2
這樣的數組鍵。
據我所知,我認爲如果你在回調中使用done()
,直到回調返回,forEach循環將會等待。
async.forEach
的工作方式是否有所不同?
你可以給我任何建議,以便我可以解決我的問題,可以使用其他庫而不是異步。
在此先感謝。
是否'async'有'forEach'? – Jai
您使用的是什麼版本的異步?我認爲目前沒有forEach? async.each不保證系列將按順序運行。 – Seonixx
@Seonixx我的版本是1.4.2 –