js Promise 原理
时间: 2024-10-30 17:07:03 浏览: 16
js代码-promise实现
JavaScript的Promise是一种处理异步操作的方式,它基于一种“失败-成功”的二元模型。Promise对象代表了一个尚未完成但最终会变为已完成(fulfilled)或失败(rejected)的值。它的核心原理主要包括以下几个步骤:
1. **创建Promise实例**:通过`new Promise()`构造函数创建一个新的Promise实例,传入一个包含两个回调函数的函数作为参数,一个是`resolve`用于任务成功时调用,另一个是`reject`用于任务失败时调用。
```javascript
const promise = new Promise((resolve, reject) => {
// 异步操作
});
```
2. **链式调用**:Promise有`.then()`和`.catch()`方法,分别用于处理成功和失败的情况。当原Promise状态改变(fulfilled或rejected),会按照顺序执行后续的.then()方法或.catch()方法。
```javascript
promise
.then(result => {
// 成功回调
})
.catch(error => {
// 失败回调
});
```
3. **状态不可变**:一旦Promise实例的状态(fulfilled或rejected)确定,就不能再改变。这意味着`.then()`和`.catch()`注册的回调只会被执行一次。
4. **链式调用的优势**:如果一个Promise依赖于另一个Promise的结果,可以自然地通过链式调用来组织,使得代码结构清晰、易于理解和维护。
阅读全文