Promise学习笔记

96
作者 甘言川
2017.01.09 22:47 字数 222

转MDN的文章:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Promise/reject


做一下总结

  • Promise.all([p1,p2...]),参数是一个Promise对象数组
    等待数组参数中所有的Promise对象的执行结果,如果其中有一个Promise对象异常(reject)直接结束等待,返回reject的reason

  • Promise.race([p1,p2...]),参数是一个Promise对象数组
    race的意思是比赛,也就是方法会返回数组参数中最先执行完毕的Promise的结果

  • 抛异常和捕获异常(reject)
    • Promise异常建议采用抛异常的方式处理,抛异常的方式会有详细的堆栈信息
      // new Error("fail")
      Promise.reject(new Error("fail")).then(function(error) { 
      // 未被调用}, 
      function(error) { console.log(error); // 堆栈跟踪
      });
    • Promise 捕获异常的两种方式
      • new Promise().then((resolve)=>{},(reject)=>{})
      • new Promise().then((resolve)=>{}).catch(error){}
ES6学习笔记