es6 promise使用

2019-07-27  本文已影响0人  希染丶

1.写法

// 定义一个promise
let promise = new Promise(function(reslove,reject){
  if(true){
     reslove(参数)
  }else{
      reject(参数)
  }
})

// 调用
promise.then(function(reslove传来的参数){
    
}).catch(function(reject传来的参数){
  
})
//catch可以捕获前面的错误
或
promise.then(function(reslove传来的参数){
    
}),function(reject传来的参数){
  
}
// function捕获前面的错误

2.多个promise调用

let a = new Promise(function(reslove,reject){
  reslove()
})
let b = new Promise(function(reslove,reject){
  reslove()
})

a
.then(b)

3.多个promise,都完成了才执行回调(all方法)

let p = Promise.all([p1,p2,p3],function(val){
  // value值为三个promise返回的参数数组
})

如果这个三个promise, 某一个状态为reject,那么val为该promise,reject方法带的参数
p的状态也为reject

4.多个promise,哪个先完成,用哪个(race方法)

let p = Promise.race([p1,p2,p3],function(val){
  // value值为先完成的promise返回的参数
})
p的状态也变成先完成的promise的状态
上一篇下一篇

猜你喜欢

热点阅读