静态办法
Promise.all(iterable)
all办法接收一个或多个promsie(以数组方法传递),返回一个新promise,该promise状况取决于传入的参数中的所有promsie的状况:
- 当所有promise都完成是,返回的promise完成,其最终值为由所有完成promsie的最终值构成的数组;
- 当某一promise被拒绝时,则返回的promise被拒绝,其拒绝原因为第一个被拒绝promise的拒绝原因;
- var p1 = new Promise((resolve, reject) => {
- setTimeout(function(){
- console.log('p1决定');
- resolve('p1');
- }, 10);
- });
- var p2 = new Promise((resolve, reject) => {
- setTimeout(function(){
- console.log('p2决定');
- resolve('p2');
- }, 10);
- });
- Promise.all( [p1, p2] )
- .then((msgs) => {
- // p1和p2完成并传入最终值
- console.log(JSON.stringify(msgs));
- })
- .then((msg) => {
- console.log( msg );
- });
输出如下:
Promise.race(iterable)
race办法返回一个promise,只要传入的诸多promise中的某一个完成或被拒绝,则该promise同样完成或被拒绝,最终值或拒绝原因也与之雷同。
Promise.resolve(x)
resolve办法返回一个已决定的Promsie对象:
- 若x是一个promise或thenable对象,则返回的promise对象状况同x;
- 若x不是对象或函数,则返回的promise对象以该值为完成最终值;
- 不然,具体过程依然按前文Promsies/A+规范中提到的规矩进行。
该办法遵守Promise/A+决定规范。
Promsie.reject(reason)
返回一个应用传入的原因拒绝的Promise对象。
实例办法
Promise.prototype.then(onFulfilled,>
输出如下:
推荐阅读
电信运营商(Telcos)和收集办事供给商(ISP)面对着应用动态拓扑调剂的挑衅,以确保连接的稳定性和持续性。这意味>>>详细阅读
地址:http://www.17bianji.com/lsqh/35174.html
1/2 1