鍍金池/ 問答/Java  HTML/ 如果promise.all有兩個(gè)p對象,最后給回調(diào)函數(shù)傳的參數(shù)沒辦法分成兩個(gè)結(jié)果

如果promise.all有兩個(gè)p對象,最后給回調(diào)函數(shù)傳的參數(shù)沒辦法分成兩個(gè)結(jié)果來傳嗎?

例如

Promis.all([p1,p2]).then((p1result,p2result)=>{});

如果p1返回的是[1,2,3]
p2返回[4,5,6]
最后的結(jié)果就是一個(gè)參數(shù)[1,2,3,4,5,6],我想要分別使用兩個(gè)p對象的結(jié)果怎么辦?

回答
編輯回答
涼汐

Promise.all() 返回的也是一個(gè)普通的 promise , promise 只會(huì)有一個(gè)值, 但這個(gè)值是一個(gè)數(shù)組;
按你的描述,返回的不應(yīng)該是你說的[1,2,3,4,5,6],應(yīng)該是[[1,2,3],[4,5,6]]
驗(yàn)證代碼如下代:

var p1 = Promise.resolve([1,2]);
var p2 = Promise.resolve([3,4]);
Promise.all([p1,p2]).then(console.log)

//> [Array(2), Array(2)]
2018年2月13日 12:02
編輯回答
夏木

表示不理解,結(jié)果不是p1result,p2result這兩個(gè)?用就好了

2017年7月28日 06:44