javascript 中promise对象中的all,allSettled,any,race方法

简介: javascript 中promise对象中的all,allSettled,any,race方法
  • Promise.all()方法用于将多个 Promise 实例,包装成一个新的 Promise 实例。Promise.all方法接收一个数组作为cans参数,数组中的元素都是promise对象,只有数组元素的状态都变成fulfilled,Promise.all()返回对象的状态才会变成fulfilled,此时数组元素的返回值组成一个数组,传递给p的回调函数。只要数组元素之中有一个被rejected,Promise.all()返回对象的状态就变成rejected,此时第一个数组元素被reject的实例的返回值,会传递给p的回调函数。*

  • Promise.race()方法同样是将多个 Promise 实例,包装成一个新的 Promise 实例。只要数组元素之中有一个实例率先改变状态,Promise.race()方法返回对象的状态就跟着改变。那个率先改变的 Promise 实例的返回值,就传递给p的回调函数。*
  • Promise.race()方法的参数与Promise.all()方法一样,如果不是 Promise 实例,就会先调用下面讲到的Promise.resolve()方法,将参数转为 Promise 实例,再进一步处理。*

  • Promise.allSettled()方法接受一个数组作为参数,数组的每个成员都是一个 Promise 对象,并返回一个新的 Promise 对象。只有等到参数数组的所有 Promise 对象都发生状态变更(不管是fulfilled还是rejected),返回的 Promise 对象才会发生状态变更。*

  • Promise.any()方法。该方法接受一组 Promise 实例作为参数,包装成一个新的 Promise 实例返回。只要参数实例有一个变成fulfilled状态,包装实例就会变成fulfilled状态;如果所有参数实例都变成rejected状态,包装实例就会变成rejected状态。*
  • Promise.any()跟Promise.race()方法很像,只有一点不同,就是Promise.any()不会因为某个 Promise 变成rejected状态而结束,必须等到所有参数 Promise 变成rejected状态才会结束。*
  • ECMAScript 6 入门
目录
相关文章
|
前端开发
在什么场景下适合使用 Promise.race() 方法?
在什么场景下适合使用 Promise.race() 方法?
743 167
|
前端开发
如何使用 Promise 的 all 方法?
如何使用 Promise 的 all 方法?
1018 162
|
10月前
|
前端开发 JavaScript API
JavaScript异步编程:从Promise到async/await
JavaScript异步编程:从Promise到async/await
703 204
|
JavaScript Linux 内存技术
Debian 11系统下Node.js版本更新方法详解
本指南详细介绍在Linux系统中安装和管理Node.js的步骤。首先检查现有环境,包括查看当前版本和清除旧版本;接着通过NodeSource仓库安装最新版Node.js并验证安装结果。推荐使用nvm(Node Version Manager)进行多版本管理,便于切换和设置默认版本。同时,提供常见问题解决方法,如权限错误处理和全局模块迁移方案,以及版本回滚操作,确保用户能够灵活应对不同需求。
1463 0
|
8月前
|
前端开发 JavaScript API
js实现promise常用场景使用示例
本文介绍JavaScript中Promise的6种常用场景:异步请求、定时器封装、并行执行、竞速操作、任务队列及与async/await结合使用,通过实用示例展示如何优雅处理异步逻辑,避免回调地狱,提升代码可读性与维护性。
404 10
|
JavaScript Linux 内存技术
Debian 11系统下Node.js版本更新方法
Debian 11更新Node.js主要就是这三种方式,无论你是初涉其中的新手还是找寻挑战的专家,总有一种方式能满足你的需求。现在,你已经是这个
1477 80
|
编解码 JavaScript 前端开发
【Java进阶】详解JavaScript的BOM(浏览器对象模型)
总的来说,BOM提供了一种方式来与浏览器进行交互。通过BOM,你可以操作窗口、获取URL、操作历史、访问HTML文档、获取浏览器信息和屏幕信息等。虽然BOM并没有正式的标准,但大多数现代浏览器都实现了相似的功能,因此,你可以放心地在你的JavaScript代码中使用BOM。
393 23
|
JavaScript 前端开发 Java
js 垃圾回收机制的方法
JS回收机制方法讲解