关于Promise的简单理解

Promise 是一种异步编程的解决方案,用于处理异步操作和回调地狱问题。

Promise 对象有三种状态:pending(进行中)fulfilled(已成功)rejected(已失败)

Promise 对象的状态只能从 pending 转变为 fulfilledrejected,一旦转变,就不能再次改变。

Promise 对象的构造函数接受一个函数作为参数,该函数接受两个参数 resolvereject,分别表示 Promise 对象的解决和拒绝。

Promise 对象的 then 方法用于添加解决和拒绝的回调函数,并返回一个新的 Promise 对象。

Promise 对象的 catch 方法用于添加拒绝的回调函数,并返回一个新的 Promise 对象。

Promise 对象的 finally 方法用于添加一个回调函数,该函数在 Promise 对象被解决或拒绝后都会被调用,并返回一个新的 Promise 对象。

Promise.all 方法接受一个 Promise 对象数组作为参数,返回一个 Promise 对象,该对象在传入的所有 Promise 对象都被解决后才会被解决,并将所有 Promise 对象的结果作为一个数组传递给 .then 方法中的回调函数。

Promise.race 方法接受一个 Promise 对象数组作为参数,返回一个 Promise 对象,该对象在传入的任意一个 Promise 对象被解决或拒绝后就会被解决或拒绝,并将第一个被解决或拒绝的 Promise 对象结果传递给 .then 方法中的回调函数或 .catch 方法中的回调函数。

Promise.resolve 方法返回一个以给定值解析后的 Promise 对象

Promise.reject 方法返回一个以给定原因被拒绝的 Promise 对象

Promise.allSettled 方法返回一个 Promise 对象,该对象在传入的所有 Promise 对象都被解决或拒绝后才会被解决,并将每个 Promise 对象的结果作为一个对象 {status: 'fulfilled’, value: result} 或 {status: 'rejected’, reason: error} 放入一个数组中传递给 .then 方法中的回调函数。

猜你喜欢

转载自blog.csdn.net/weixin_43811753/article/details/130175429
今日推荐