Promise使用

82 阅读1分钟

用途

是前端解决异步问题的统一方案,用于避免回调地狱,让代码看起来更同步

如何创建

function fn(){
  return new Promise((resolve, reject)=>{
      resolve(data) //成功调用这个
      reject(result)//失败调用这个
  })
}

then方法

接收两个回调函数,第一个是异步操作成功时的回调,第二个是异步操作失败时的回调

fn().then((data)=>{对应resolve}, (result)=>{对应reject})

catch方法

异步失败的回调也可以放到catch中

fn().catch((result)=>{对应reject})

Promise.all

可以接收一个数组,数组包含不同的promise,当每个promise都成功的时候,all对应的promise才成功,并接收一个数组,有一个失败,all就失败

Promise.all([promise1, promise2])

Promise.race

参数和all一样,区别在于,有一个成功、失败,race就成功、失败