1.什么是Promise?
Promise 是一种异步编程的解决方案,用于处理异步操作,避免回调地狱问题
它有三种状态:pending(进行中)、fulfilled(已成功)和 rejected(已失败),状态一旦从 pending 变为 fulfilled 或者 rejected 就不能再改变
2.Promise的基本使用
要求写一个简单的 Promise 示例代码

3.Promise的链式调用
询问 Promise 链式调用的原理和使用场景
原理是每个 then 方法都会返回一个新的 Promise 对象,这样就可以实现链式调用
使用场景包括需要按顺序执行多个异步操作的情况,比如先从接口获取用户信息,再根据用户信息获取用户订单信息等
示例代码如下:

4.Promise.all 和 Promise.race
解释 Promise.all 和 Promise.race 的区别和使用场景
Promise.all:接收一个 Promise 数组作为参数,只有当数组中所有 Promise 都成功时,它返回的 Promise 才会成功,结果是一个包含所有成功结果的数组;如果有一个 Promise 失败,它返回的 Promise 就会失败,结果是第一个失败的 Promise 的错误信息
使用场景是需要并行执行多个异步操作,并且需要等待所有操作都完成后再进行下一步处理
Promise.race:同样接收一个 Promise 数组作为参数,只要数组中有一个 Promise 状态改变(成功或失败),它返回的 Promise 就会立即以相同的状态和结果改变
使用场景是多个异步操作竞争,只需要第一个完成的结果
示例代码如下:
