day3(2019-2-13 周3) Promise专栏

  1. Promise.all()方法
    问题:什么是promise.all()方法?
    promise.all()方法用于将多个 Promise 实例,包装成一个新的 Promise 实例。
    promise.all()方法接受一个参数, 这个参数可以一般是一个数组(或者其他具有iterator迭代属性的参数),而且必须是每个成员都是promise实例。
    注意:所有的参数必须都是resolve状态,promise.all()才会执行成功。如果有一个参数是reject状态即会失败。
    如果参数的promise实例没有catch方法,就会调用promise.all()的catch方法

Example:

let a = new Promise((resolve, reject) => {
  resolve('23')
})

let b = new Promise((resolve, reject) => {
  resolve('12')
})

Promise.all([a, b])
.then(([a,b]) => test(a,b))
.catch(()=>{console.log('all方法失败了。。。')})

function test(a,b){
  console.log(a+b, '--a+b--')  // '2312'
}
  1. promise.race()方法
    Promise.race方法同样是将多个 Promise 实例,包装成一个新的 Promise 实例。
    Example:
    const p = new Promise([p1,p2,p3])
    上面代码中,只要p1、p2、p3之中有一个实例率先改变状态,p的状态就跟着改变。那个率先改变的 Promise 实例的返回值,就传递给p的回调函数。

  2. promise.resolve()方法
    promise.resolve()方法等价于下面的写法:

    console.log(Promise.resolve(‘foo’), ‘—123–’)
    // 等价于
    console.log(new Promise(resolve => resolve(‘foo’)))

promise.resolve()分为参数分为4种形式:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值