JavaScript:Promise概念、优缺点

2023-03-01  本文已影响0人  东方晓

2023-03-02 周四

什么是Promise

Promise对象接受一个回调函数作为参数, 该回调函数接受两个参数,分别是成功时的回调resolve和失败时的回调reject;
另外resolve的参数除了正常值以外, 还可能是一个Promise对象的实例;
reject的参数通常是一个Error对象的实例。

then方法返回一个新的Promise实例,并接收两个参数onResolved(fulfilled状态的回调);
onRejected(rejected状态的回调,该参数可选)

Promise优点:

  1. 解决了回调地狱的问题,将异步操作以同步操作的流程表达出来
  2. Promise 对象提供统一的接口,使得控制异步操作更加容易。。

Promise缺点

  1. 无法取消Promise,一旦新建它就会立即执行,无法中途取消。
  2. 如果不设置回调函数,Promise内部抛出的错误,不会反应到外部。
  3. 当处于Pending状态时,无法得知目前进展到哪一个阶段(刚刚开始还是即将完成)。
  4. Promise 真正执行回调的时候,定义 Promise 那部分实际上已经走完了,所以 Promise的报错堆栈上下文不太友好。
上一篇下一篇

猜你喜欢

热点阅读