Promise 的原理
时间: 2024-09-13 22:18:21 浏览: 47
Javascript-Promise原理
Promise是一种处理异步操作的对象,在JavaScript中广泛用于管理回调地狱的问题。它的核心原理是将异步操作封装成一个可以链式调用的对象,分为三种状态:pending(初始,等待中)、fulfilled(已成功完成)和rejected(已失败)。当异步操作开始时,Promise实例会处于pending状态;一旦操作成功完成,它会被解析(resolve),变成fulfilled状态,并返回结果;如果操作失败,则会被拒绝(reject)并提供错误信息。
Promise有三个主要方法:
1. `then(onFulfilled, onRejected)`:当Promise从pending变为fulfilled时,执行onFulfilled函数;如果变为rejected,则执行onRejected函数。这两个函数都接收一个参数,分别是成功或失败的结果。
2. `catch(onRejected)`:这是`then`的一个简写形式,用于处理拒绝的情况,即当Promise被拒绝时执行这个函数。
3. `finally(callback)`:无论Promise状态如何变化,都会始终执行这个函数,常用于资源清理等操作。
通过链式调用`then`和`catch`,你可以创建一个解决异步问题的清晰流程,每个阶段都有明确的责任,使得代码更易于理解和维护。
阅读全文