promise 语法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
promise 语法
Promise 是JavaScript 中用于处理异步操作的一种对象。它代表了一个值,这个值可能现在就有,也可能未来会有,或者可能永远不会有。Promise 的语法和用法如下:
1. 创建一个 Promise:
```javascript
const promise = new Promise((resolve, reject) => {
// 异步操作
});
```
2. `resolve` 和 `reject` 是 Promise 的两个参数,分别表示异步操作成功和
失败。这两个参数都是函数,异步操作成功时调用 `resolve` 函数,失败时
调用 `reject` 函数。
3. Promise 的状态一旦改变就不会再变,如果 Promise 对象的状态是
`pending`(等待中),则异步操作成功后变为 `fulfilled`(已实现),失败后变为 `rejected`(已拒绝)。
4. Promise 的 then 方法可以链式调用,用于处理异步操作成功后的结果或失败时的错误。then 方法接受两个参数,第一个参数是异步操作成功后的回调函数,第二个参数是异步操作失败时的回调函数(错误处理器)。如果只传入一个回调函数,则第二个参数默认为 `undefined`。
```javascript
(
result => {
// 处理异步操作成功后的结果
},
error => {
// 处理异步操作失败时的错误
}
);
```
5. Promise 也可以使用 catch 方法来捕获异步操作失败时的错误。catch 方法只接受一个回调函数作为参数,该回调函数会在 Promise 对象的状态变为 `rejected` 时被调用。
```javascript
(error => {
// 处理异步操作失败时的错误
});
```
6. Promise 还可以使用 finally 方法来执行一些清理工作,无论异步操作成功还是失败都会执行。finally 方法接受一个回调函数作为参数,该回调函数会在 Promise 对象的状态变为 `fulfilled` 或 `rejected` 时被调用。
```javascript
(() => {
// 执行一些清理工作
});
```