Please note, this is a STATIC archive of website developer.mozilla.org from November 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Promise.all()

该新特性属于 ECMAScript 2015(ES6)规范,在使用时请注意浏览器兼容性。

概述

Promise.all(iterable) 方法返回一个promise,该promise会等iterable参数内的所有promise都被resolve后被resolve,或以第一个promise被reject的原因而reject 。

语法

Promise.all(iterable);

参数

iterable
一个可迭代对象,比如Array。参见iterable.

描述

结果是promise的一组值。如果传入的可迭代数组中某项不是一个promise,该项会被用Promise.resolve转换为一个promise。如果任一传入的promise被拒绝了,all Promise立刻带着该promise的拒绝原因进入拒绝(rejected)状态,不再理会其它传入的promise是否被解决。

示例

var promise = Promise.resolve(3);
Promise.all([true, promise])
       .then(values => {
           console.log(values); // [true, 3]
        });

规范

规范 状态 备注
domenic/promises-unwrapping 草稿 标准化工作在这里进行
ECMAScript 2015 (6th Edition, ECMA-262)
Promise.all
Standard ECMA规范的首次定义

浏览器兼容性

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 32 29.0 (29.0) 未实现 19 7.1
Feature Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile Chrome for Android
Basic support 未实现 29.0 (29.0) 未实现 未实现 iOS 8 32

参见

文档标签和贡献者

 此页面的贡献者: billcz, zilong-thu, fskuok
 最后编辑者: billcz,