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 完成或被拒绝时调用。 |