--- title: Promise.allSettled() slug: Web/JavaScript/Reference/Global_Objects/Promise/allSettled tags: - Promise - Promise.allSettled - promise.all translation_of: Web/JavaScript/Reference/Global_Objects/Promise/allSettled ---
{{JSRef}}
该Promise.allSettled()
方法返回一个在所有给定的promise都已经fulfilled
或rejected
后的promise,并带有一个对象数组,每个对象表示对应的promise结果。
当您有多个彼此不依赖的异步任务成功完成时,或者您总是想知道每个promise
的结果时,通常使用它。
相比之下,Promise.all()
更适合彼此相互依赖或者在其中任何一个reject
时立即结束。
Promise.allSettled(iterable);
iterable
Promise
。一旦所指定的 promises 集合中每一个 promise 已经完成,无论是成功的达成或被拒绝,未决议的 {{jsxref("Promise")}}将被异步完成。那时,所返回的 promise 的处理器将传入一个数组作为输入,该数组包含原始 promises 集中每个 promise 的结果。
对于每个结果对象,都有一个 status
字符串。如果它的值为 fulfilled
,则结果对象上存在一个 value
。如果值为 rejected
,则存在一个 reason
。value(或 reason )反映了每个 promise 决议(或拒绝)的值。
规格 | 状态 | 评论 |
---|---|---|
Promise.allSettled() (TC39第4阶段草案) |
{{SPEC2("ESDraft")}} |
{{Compat("javascript.builtins.Promise.allSettled")}}