js

js中promise.race方法怎么用

小亿
120
2023-11-25 00:01:28
栏目: 编程语言

在JavaScript中,Promise.race方法用于返回一个Promise对象,该对象在给定的Promise对象中的任何一个解决或拒绝时解决或拒绝,以第一个解决或拒绝的结果为准。

使用Promise.race方法的语法如下:

Promise.race(iterable);

其中,iterable是一个可迭代对象,例如数组。

以下是一个使用Promise.race方法的例子:

const promise1 = new Promise((resolve, reject) => {
  setTimeout(() => {
    resolve('Promise 1 resolved');
  }, 2000);
});

const promise2 = new Promise((resolve, reject) => {
  setTimeout(() => {
    reject('Promise 2 rejected');
  }, 1000);
});

Promise.race([promise1, promise2])
  .then(result => {
    console.log(result); // 输出:Promise 2 rejected
  })
  .catch(error => {
    console.log(error); // 输出:Promise 2 rejected
  });

在上面的例子中,我们创建了两个Promise对象,promise1promise2。其中,promise1在2秒后解决,而promise2在1秒后拒绝。我们使用Promise.race方法将这两个Promise对象传递给它,并使用.then()方法来处理第一个解决的Promise对象。由于promise2先拒绝,所以最终的结果是Promise 2 rejected

需要注意的是,Promise.race方法只返回一个Promise对象,并且只解决或拒绝第一个解决或拒绝的结果。其余的Promise对象的状态将被忽略。

0
看了该问题的人还看了