0
我正在使用藍鳥承諾在Node.js中工作。我想在我的承諾連鎖使用Promise.all,並試圖這樣:是否可以鏈接.all()而不是使用Promise.all()?
request-promise(some_API_call)
.then((responseBody) => {
// using responseBody to determine N new API calls to make
var arrayPromises = [];
for (var i=0 ; i<N ; i++) {
var newPromise = request-promise(new_API_call_i);
arrayPromises.push(newPromise);
}
return(arrayPromises);
})
.all(arrayPromises)
.then((arrayResults) => {
// do something
});
引發我一個錯誤:arrayPromises is undefined
。
我能想到的唯一的另一種方法是:
request-promise(some_API_call)
.then((responseBody) => {
// using responseBody to determine N new API calls to make
var arrayPromises = [];
for (var i=0 ; i<N ; i++) {
var newPromise = request-promise(new_API_call_i);
arrayPromises.push(newPromise);
}
Promise.all(arrayPromises)
.then((arrayResults) => {
// do something
});
})
不知:
- 所有這些模式是正確的?
- 我不會一次又一次地在另一個反模式中下降:在此背景下嵌套承諾鏈是否正確?
可愛。我的兩個想法同時寫得很簡單,同時保持代碼平坦。爲什麼我無法想象這首先是T_T。謝謝 ! –
對我來說,解決別人問題的辦法總是比解決我自己的問題更爲明確:P很高興幫助! –