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

另请参阅:

教程:JavaScript Promise