promise 理解

Promise 你需要知道的几点
  • 创建 Promise 时(即 new Promise…),内部同步代码会立即执行,异步代码会在次轮事件循环执行

  • try…catch 无法抓取 异步任务 错误, 因为 try…catch 代码在主线程,异步任务在工作线程,在执行异步任务时主代码同步任务try…catch 都已经执行完了

  • Promise.reject(new Error(‘xxx’)) 或 Promise.reject(‘xxxx’) reject 其实是返回错误信息的回调方法,它并不是 throw 出一个错误到主线程,所以不会终止主线程, 当异步任务有 throw error代码执行报错 那么这个异步任务的结果就是抛出异常,主线程 loop 到该结果时就会终止

    // 该异步任务结果就是抛出错误, try..catch 也是抓不到的,try..catch 在同步代码中已执行完,而异步任务才开始
    setTimeout(() => {
         
            t
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值