JavaScript Promise 对象
Promise 对象 表示异步操作的完成或失败及其结果。
Promise 可以有 3 种状态:
| pending | 初始状态 |
| rejected | 操作失败 |
| fulfilled | 操作完成 |
示例
// 创建一个 Promise 对象
let myPromise = new Promise(function(myResolve, myReject) {
let result = true;
// 此处编写可能需要一些时间才能完成的代码
if (result == true) {
myResolve("OK");
} else {
myReject("Error");
}
});
// 使用 then() 显示结果
myPromise.then(x => myDisplay(x), x => myDisplay(x));
JavaScript Promise 方法和属性
| 名称 | 描述 |
|---|---|
| Promise.all() | 从 Promise 列表中返回单个 Promise 当所有 Promise 都满足时 |
| Promise.allSettled() | 从 Promise 列表中返回单个 Promise 当所有 Promise 都满足时 |
| Promise.any() | 从 Promise 列表中返回单个 Promise 当任意一个 Promise 满足时 |
| Promise.race() | 从 Promise 列表中返回单个 Promise。 当速度最快的 Promise 完成时 |
| Promise.reject() | 返回一个被拒绝的 Promise 对象及其值 |
| Promise.resolve() | 返回一个被解决的 Promise 对象及其值 |
| catch() | 提供一个函数,用于在 Promise 被拒绝时调用 |
| finally() | 提供一个函数,用于在 Promise 被满足或拒绝时调用 |
| then() | 提供两个函数,用于在 Promise 被满足或拒绝时调用 |
