Promise学习(二):常用 API

本文详细介绍了Promise构造函数、then方法、catch方法、resolve和reject方法的使用,以及Promise.all和Promise.race方法的实现原理。Promise是JavaScript中处理异步操作的重要工具,它支持同步和异步操作,并能有效地解决回调地狱问题。通过then和catch,我们可以优雅地处理成功和失败的回调,而Promise.all和Promise.race则提供了处理多个Promise并行执行的解决方案。

1. Promise 构造函数: Promise (excutor) {}

  • executor 函数: 执行器 (resolve, reject) => {}
  • resolve 函数: 内部定义成功时我们调用的函数 value => {}
  • reject 函数: 内部定义失败时我们调用的函数 reason => {}
  • executor 会在 Promise 内部立即同步调用,异步操作在执行器中执行,换话说Promise支持同步也支持异步操作

2. Promise.prototype.then 方法: (onResolved, onRejected) => {}

  • onResolved 函数: 成功的回调函数 (value) => {}
  • onRejected 函数: 失败的回调函数 (reason) => {}
  • 指定用于得到成功 value 的成功回调和用于得到失败 reason 的失败回调 返回一个新的 promise 对象

3. Promise.prototype.catch 方法: (onRejected) => {}

  • onRejected 函数: 失败的回调函数 (reason) => {}
  • then()的语法糖, 相当于: then(undefined, onRejected)
  • 异常穿透使用:当运行到最后,没被处理的所有异常错误都会进入这个方法的回调函数中

4. Promise.resolve 方法: (value) => {}

  • value: 成功的数据或 promise 对象
  • 返回一个成功/失败的 promise 对象,直接改变promise状态

5. Promise.reject 方法: (reason) => {}

  • reason: 失败的原因
  • 返回一个失败的 promise 对象,直接改变promise状态

6. Promise.all 方法: (promises) => {}

  • promises: 包含 n 个 promise 的数组
  • 返回一个新的 promise, 只有所有的 promise 都成功才成功, 只要有一个失败了就直接失败
  • 成功时返回所有的 promise 返回值组成一个数组,失败时返回第一个失败的 promise 的返回值

7. Promise.race 方法: (promises) => {}

  • promises: 包含 n 个 promise 的数组
  • 返回一个新的 promise,第一个完成的 promise 的结果状态就是最终的结果状态
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

激洪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值