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 履行或被拒绝时调用这两个函数 |