最近在项目中遇见一个 promise 使用方式的问题,大概需求是,页面多个表单,必须同时通过之后,才能发起网络请求; 验证过程,报了一个reject()错,谷歌浏览器报错进入断点调试模式。

错误如下:

promise的reject出现断点报错,resolved,Paused on promise rejection

问题原因:

如果在 Promise 处理异常之前就执行了 reject() ,就会认为这个promise没有处理异常的过程,然后就报错了,原因如下。

  • (1)只要没有在 Promise 的后面紧跟.catch或.then处理异常就会触发这个错误机制。
  • (2)不能在同步过程中触发 reject() ,因为这个时候异常处理还没有挂载到 promise 上,也就是说promise 不能立即执行 reject(),需要增加一个定时器,模拟异步调用解决这个问题。

代码如下:

promise的reject出现断点报错,resolved,Paused on promise rejection

解决如下:

promise的reject出现断点报错,resolved,Paused on promise rejection

相关文章:

  • 2022-12-23
  • 2021-11-29
  • 2021-11-14
  • 2021-04-22
  • 2021-12-13
  • 2022-12-23
猜你喜欢
  • 2021-08-21
  • 2022-12-23
  • 2021-12-13
  • 2022-02-21
  • 2022-12-23
  • 2022-12-23
  • 2021-07-21
相关资源
相似解决方案