Promise

154 阅读1分钟
 promise是解决回调地域问题,
// promise有两个参数resolve和reject,resolve是成回调函数,reject失败回调函数
function iop(){
  var p=new Promise((resolve,reject)=>{
    setTimeout(()=>{
      resolve('第一个异步执行成功')
      console.log(1);
    },1000)
  })
  return p
}
function uip(){
  var o=new Promise((resolve,reject)=>{
    setTimeout(() => {
      resolve('第二个异步执行成功')
      console.log(2);
    }, 1000);
  })
  return o
}

 Promise.all([iop(),uip()]).then((res)=>{
  console.log(res);
}).catch((reason)=>{
  console.log(reason);
})
console.log('all和race');
Promise.race([iop(),uip()]).then((res)=>{
  console.log(res);
}).catch((reason)=>{
  console.log(reason);
})

同时promise有两个方法。 all和race方法 这两个方法,都是并行执行多个异步操作。而不同的是,all方式遵循“同时执行,有一个错的就gg”,而race遵循的是“谁跑的快,以谁为准执行回调”