TypeScript的Promise.all()和Promise.race()如何使用

发布时间:2024-07-09 15:16:07 作者:小樊
来源:亿速云 阅读:197

在TypeScript中,Promise.all()和Promise.race()方法可以用来处理多个Promise对象的并发执行。这两个方法都是Promise的静态方法,可以直接通过Promise对象调用。

Promise.all()方法接收一个Promise对象数组作为参数,返回一个新的Promise对象。该新的Promise对象在所有Promise对象都成功(resolve)时才会成功,并返回一个包含所有Promise结果的数组;如果有任何一个Promise对象失败(reject),则整个Promise.all()操作失败。

示例代码如下:

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

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

Promise.all([promise1, promise2]).then((results) => {
  console.log('All promises resolved:', results);
}).catch((error) => {
  console.error('One or more promises failed:', error);
});

Promise.race()方法同样接收一个Promise对象数组作为参数,返回一个新的Promise对象。该新的Promise对象在第一个Promise对象解决(resolve)或拒绝(reject)时就会解决(resolve)或拒绝(reject),并返回该Promise对象的结果。

示例代码如下:

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

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

Promise.race([promise1, promise2]).then((result) => {
  console.log('First promise resolved:', result);
}).catch((error) => {
  console.error('First promise failed:', error);
});

使用Promise.all()和Promise.race()方法可以很方便地处理多个Promise对象的并发操作,根据不同的需求选择适合的方法进行处理。

推荐阅读:
  1. TypeScript中实用类型有哪些
  2. TypeScript中泛型怎么用

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

typescript

上一篇:如何在TypeScript中实现异步函数类型

下一篇:如何利用TypeScript进行HTTP请求处理

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》