promise方法的使用

89 阅读1分钟

原型上的方法:

1. Promise.prototype.then()

  • 1)作用是为 Promise 实例添加状态改变时的回调函数。接受两个回调函数作为参数。第一个回调函数是Promise对象的状态变为resolved时调用,第二个回调函数是Promise对象的状态变为rejected时调用。其中,第二个函数是可选的,不一定要提供。
  • 2)返回的是另一个Promise对象,后面还可以接着调用then方法。

2. Promise.prototype.catch()

  • 1)用于指定发生错误时的回调函数。

  • 2)返回的也是一个 Promise 对象,因此还可以接着调用then方法

3. Promise.prototype.finally()

  • 1)finally方法用于指定不管 Promise 对象最后状态如何,都会执行的回调函数。

  • 2)finally方法的回调函数不接受任何参数,这意味着没有办法知道,前面的 Promise 状态到底是fulfilled还是rejected。

自身API:

1、Promise.resolve()

  • 1)不带参数传递 — 返回一个新的状态为resolve的promise对象
  • 2)参数是一个 Promise 实例— 返回 当前的promise实例

2、Promise.reject()

  • 1)返回的是一个值
  • 2)返回的值会传递到下一个then的resolve方法参数中

3、Promise.all()

  • 1)并行执行异步操作的能力
  • 2)所有异步操作执行完后才执行回调

4、Promise.race()

  • 1)那个结果返回来的快就是,那个结果,不管结果是成功还是失败