Promise与callback函数处理 异步对比

2019-03-23  本文已影响0人  Chaos_YM

Promise与callback函数处理 异步 对比

1,callback函数处理异步:代码逻辑复杂,可读性差----回调地狱;不可return;
2,promise处理异步:
对比callback,易读,可以return,不需要层层传递callback;
处理多个异步等待合并
3,async,await--ES2017 ,promise的语法糖


promise

const promise = newPromise((resolve, reject) => {
  // 三种状态
  // pending fulfilled rejected => 进行中 已成功 以失败
  // 调用resolve使状态成功,调用reject使状态失败
})

promise.then((res) => {}, (err  ) => {})

promise.all() 与 promise.race()

Promise.all([a, b ,c]).then(res=> {
    // 全部分会成功时调用
    // 只要有一个失败,就返回失败的reject,其余取消
    // res是一个数组,按照顺序分别储存a, b, c的返回结果
})
Promise.race([a, b ,c]).then(res=> {
    // 某一个成功即可调用
    // 常用于异步操作与定时器配合,制作网络超时
    // res是首个返回的结果
})
上一篇 下一篇

猜你喜欢

热点阅读