Promise.allSettled()

Promise.allSettled()方法返回一个在所有给定的promise已被决议或被拒绝后决议的promise,并带有一个对象数组,每个对象表示对应的promise结果。

句法

Promise.allSettled(iterable);

参数

iterable
一个可迭代的对象,例如Array,其中每个成员都是Promise

返回值

一个未决议的 Promise将被异步完成一次promise 的指定集合在每一个promise 已经完成,无论是成功的达成或通过被拒绝。那时,返回的promise的处理程序作为输入传递一个数组,该数组包含原始promises集中每个promise的结果。

对于每个结果对象,都有一个status 字符串。如果状态为fulfilled,则存在一个value 。如果状态为rejected,则说明原因 。值(或原因)反映了每个promise 决议(或拒绝)的值。

标准

规格 状态 评论
Promise.allSettled() (TC39第4阶段草案) Living Standard

浏览器兼容

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
allSettled()Chrome Full support 76Edge Full support 79Firefox Full support 71IE No support NoOpera Full support 63Safari Full support 13WebView Android Full support 76Chrome Android Full support 76Firefox Android No support NoOpera Android Full support 54Safari iOS Full support 13Samsung Internet Android No support Nonodejs Full support 12.9.0

Legend

Full support  
Full support
No support  
No support

实现进度

参见