(1)Promise.all Promise.all可以將多個Promise實例包裝成一個新的Promise實例。同時,成功和失敗的返回值是不同的,成功的時候返回的是一個結果數組,而失敗的時候則返回最先被reject失敗狀態的值。
Promise.all中傳入的是數組,返回的也是是數組,并且會將進行映射,傳入的promise對象返回的值是按照順序在數組中排列的,但是注意的是他們執行的順序并不是按照順序的,除非可迭代對象為空。
需要注意,Promise.all獲得的成功結果的數組里面的數據順序和Promise.all接收到的數組順序是一致的,這樣當遇到發送多個請求并根據請求順序獲取和使用數據的場景,就可以使用Promise.all來解決。
(2)Promise.race
顧名思義,Promse.race就是賽跑的意思,意思就是說,Promise.race([p1, p2, p3])里面哪個結果獲得的快,就返回那個結果,不管結果本身是成功狀態還是失敗狀態。當要做一件事,超過多長時間就不做了,可以用這個方法來解決: