3
有一種方法可以在塊中循環遍歷一個ID數組,並等待這個塊的響應繼續循環?Bluebird - 如何在塊中循環數組,等待塊響應
如:
Promise = require("bluebird")
function(array){
return Promise.*something that will loop chunks from my array and wait for each chunk response*.map(function(id){
return myfunction(id);
});
}
我的問題是,我需要等待從我訪問DB的響應,它不能回答我要創建在同所有呼叫時間。我的代碼正在引發超時異常,因爲我太積極了。
我下面的代碼:
Promise = require("bluebird")
function(array){
return Promise.map(array, function(id){
return myfunction(id);
});
}
編輯: 我找到了解決辦法!
Promise = require("bluebird")
function(array){
return Promise.map(array, function(id){
return myfunction(id);
}, {concurrency: 10});
}
是的,我需要它是一個承諾。藍鳥承諾端口究竟是什麼? –
他們採用了藍鳥諾言集成的異步庫。我發現[this](https://www.npmjs.com/package/async-bluebird),但它似乎沒有經過測試,所以我不想推薦它。但它可能會很好!你應該檢查[npmjs](https://www.npmjs.com/search?q=async),看看是否有任何適合你需要的軟件包。 – William
謝謝威廉!我找到了一個更好的解決方案,看看我的編輯:) –