爲什麼我的承諾仍處於等待狀態,我該如何解決?Javascript - 承諾保留爲待定
var foundPeopleA = findPeopleA().then(function(result) {
var res = []
result.map(function(el) {
res.push(getProfileXML(el.sid));
});
return res
});
var foundPeopleB = findPeopleB().then(function(result) {
var res = []
result.map(function(el) {
res.push(getProfileXML(el.sid));
});
return res
})
return Promise.all([findPeopleA, findPeopleB]).then(function(results) {
console.log(results) //[ [ Promise { <pending> }, Promise { <pending> } ], [ Promise { <pending> }, Promise { <pending> } ] ]
})
但是如果我改變的2個函數體上方進入
var res
result.map(function(el) {
res = getProfileXML(el.sid);
});
return res
他們不會被掛起,我會得到的結果。
第一個給出相同的輸出,第二個甚至沒有達到下一個執行,不能得到輸出。 –
你是什麼意思「相同的輸出」? –
我在問題中提到了一個。 // [[Promise {},Promise {}],[Promise {},Promise {}]] –