From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- .../global_objects/promise/allsettled/index.html | 73 ++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 files/zh-cn/web/javascript/reference/global_objects/promise/allsettled/index.html (limited to 'files/zh-cn/web/javascript/reference/global_objects/promise/allsettled') diff --git a/files/zh-cn/web/javascript/reference/global_objects/promise/allsettled/index.html b/files/zh-cn/web/javascript/reference/global_objects/promise/allsettled/index.html new file mode 100644 index 0000000000..de674edc7f --- /dev/null +++ b/files/zh-cn/web/javascript/reference/global_objects/promise/allsettled/index.html @@ -0,0 +1,73 @@ +--- +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都已经fulfilledrejected后的promise,并带有一个对象数组,每个对象表示对应的promise结果。

+ +

当您有多个彼此不依赖的异步任务成功完成时,或者您总是想知道每个promise的结果时,通常使用它。

+ +

相比之下,Promise.all() 更适合彼此相互依赖或者在其中任何一个reject时立即结束。

+ +
{{EmbedInteractiveExample("pages/js/promise-allsettled.html")}}
+ +

句法

+ +
Promise.allSettled(iterable);
+ +

参数

+ +
+
iterable
+
一个可迭代的对象,例如{{jsxref("Array")}},其中每个成员都是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")}}

+ +

实现进度

+ +

{{EmbedTest262ReportResultsTable("Promise.allSettled")}}

+ +

参见

+ + -- cgit v1.2.3-54-g00ecf