当前位置: 首页 > news >正文

41.说说Promise自身的静态方法

41.说说Promise自身的静态方法

  1. Promise.all (有一个失败就失败,所有的都成功就成功)
  2. Promise.race (有一个成功就成功,有一个失败就失败)
  3. Promise.allSettled (所有的异步操作执行完毕之后,才返回)
  4. Promise.any (只要有一个成功就成功,所有的都失败,才失败)
  5. Promise.resolve (返回一个成功状态的promise对象)
  6. Promise.reject (返回一个失败状态的promise对象)

验证

Promise.all 一个失败及失败,都成功则成功


/* 1. Promise.all  一个失败及失败,都成功则成功 */
var a1 = Promise.resolve(1)
var a2 = Promise.resolve(2)
var a3 = Promise.resolve(3)
var a4 = Promise.resolve(4)console.log(Promise.all([a1, a2, a3, a4]))
// [1,2,3,4]var a1 = Promise.resolve(1)
var a2 = Promise.reject(2)
var a3 = Promise.resolve(3)
var a4 = Promise.resolve(4)console.log(Promise.all([a1, a2, a3, a4]))
// 报错 返回 2

2. Promise.race 一个状态变化,就立刻返回


/* 2. Promise.race 一个状态变化,就立刻返回*/
var a1 = Promise.resolve(1)
var a2 = Promise.resolve(2)
var a3 = Promise.resolve(3)
var a4 = Promise.resolve(4)
console.log(Promise.race([a1, a2, a3, a4]))
// 1var a1 = Promise.reject(2)
var a2 = Promise.reject(2)
var a3 = Promise.resolve(3)
var a4 = Promise.resolve(4)
console.log(Promise.race([a1, a2, a3, a4]))
// 2

3. Promise.allSettled 状态都变化完毕后,再返回

/* 3. Promise.allSettled 状态都变化完毕后,再返回 */
var a1 = Promise.resolve(1)
var a2 = Promise.resolve(2)
var a3 = Promise.resolve(3)
var a4 = Promise.resolve(4)
console.log(Promise.allSettled([a1, a2, a3, a4]))
// [1,2,3,4]var a1 = Promise.resolve(1)
var a2 = Promise.reject(2)
var a3 = Promise.resolve(3)
var a4 = Promise.resolve(4)
console.log(Promise.allSettled([a1, a2, a3, a4]))
// [1,2,3,4]  // 其中reject的状态为失败,其他的状态为成功

4. Promise.any 一个成功及成功,都失败则失败,和all相反


/* 4. Promise.any 一个成功及成功,都失败则失败,和all相反 */
var a1 = Promise.resolve(1)
var a2 = Promise.resolve(2)
var a3 = Promise.resolve(3)
var a4 = Promise.resolve(4)
console.log(Promise.any([a1, a2, a3, a4]))
// 1var a1 = Promise.reject(1)
var a2 = Promise.reject(2)
var a3 = Promise.resolve(3)
var a4 = Promise.resolve(4)
console.log(Promise.any([a1, a2, a3, a4]))
// 2  var a1 = Promise.reject(1)
var a2 = Promise.reject(2)
var a3 = Promise.reject(3)
var a4 = Promise.reject(4)
console.log(Promise.any([a1, a2, a3, a4]))
// 失败状态 AggregateError: All promises were rejected

相关文章:

41.说说Promise自身的静态方法

41.说说Promise自身的静态方法 Promise.all (有一个失败就失败,所有的都成功就成功)Promise.race (有一个成功就成功,有一个失败就失败)Promise.allSettled (所有的异步操作执行完毕之后&#…...

通讯网关软件019——利用CommGate X2OPCUA实现OPC UA访问Oracle服务器

本文介绍利用CommGate X2OPCUA实现OPC UA访问ORACLE数据库。CommGate X2OPCUA是宁波科安网信开发的网关软件,软件可以登录到网信智汇(http://wangxinzhihui.com)下载。 【案例】如下图所示,实现上位机通过OPC UA来获取ORACLE数据库的数据。 【解决方案】…...

【机器学习】svm

参考 sklearn中SVC中的参数说明与常用函数_sklearn svc参数-CSDN博客https://blog.csdn.net/transformed/article/details/90437821 参考PYthon 教你怎么选择SVM的核函数kernel及案例分析_clfsvm.svc(kernel)-CSDN博客https://blog.csdn.net/c1z2w3456789/article/details/10…...

基于SSM+Vue的学习交流论坛的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用Vue技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…...

开发与运营:“开发”和“运营”角色有何不同和重叠?

开发和运营是促进软件系统交付的两种角色。大多数大规模构建软件的组织都会雇用这两个学科的人员。不过,开发和运维并不是完全孤立的。团队重叠并实现更高的吞吐量是很常见的。 在本文中,您将学习区分开发人员和操作人员之间的主要区别,以及它们重叠的方式。尽管有将两者结合…...

关于GD32引脚PA13、PA15、PB3、PB4配置为普通引脚的问题

关于GD32引脚PA13、PA15、PB3、PB4配置为普通引脚的问题 在实际开发中,经常会遇到引脚资源受限需要将一些具有特定功能的引脚配置为普通引脚或其他引脚功能使用的情况。 博主之前遇到过类似的情况,都正常解决了。但偶尔也会出现在配置引脚时少了一些配…...

JS-Dom转为图片,并放入pdf中进行下载

1、将dom转换为图片 这里我们使用html2canvas工具插件先将dom转为canvas元素然后canvas拥有一个方法可以将绘制出来的图形转为url然后下载即可注意:如果元素使用了渐变背景并透明的话,生成的图片可能会有点问题。我下面这个案例使用了渐变背景实现元素对…...

Python 无废话-办公自动化Excel格式美化

设置字体 在使用openpyxl 处理excel 设置格式,需要导入Font类,设置Font初始化参数,常见参数如下: 关键字参数 数据类型 描述 name 字符串 字体名称,如Calibri或Times New Roman size 整型 大小点数 bold …...

Python视频剪辑-Moviepy音频效果afx方法

随着多媒体内容在日常生活和工作中的广泛应用,音频处理成为了一个越来越重要的技能。无论是在游戏开发、音乐制作,还是在各种应用和网站中,高质量的音频处理都能极大地提升用户体验。然而音频处理看似复杂,实则不必如此。其实只需要掌握一些基础的概念和技巧,就能够完成大…...

让LLM模型输入token无限长

背景 增加LLM的输入token已经有很多的研究,但是思路无外乎:模型抽取局部特征通过上层通过模型融合预测最终解,以及这个思路的一些变种。然而这些思路其实都没能很彻底的解决无限长token问题,根据《EFFICIENT STREAMING LANGUAGE …...

RabbitMQ 介绍与 SpringBootAMQP使用

一、MQ概述 异步通信的优点: 耦合度低吞吐量提升故障隔离流量削峰 异步通信的缺点: 依赖于Broker的可靠性、安全性、吞吐能力架构复杂,业务么有明显的流程线,不方便追踪管理 什么是的MQ MQ(Message Queue&#xf…...

企业门户的必备选择,WorkPlus的定制化解决方案

在当今数字化时代,企业门户成为了企业内外沟通与协作的重要基础设施。WorkPlus作为领先的品牌,为企业提供了一站式的企业门户解决方案,旨在提升企业形象、改善内外部沟通与协作效率。本文将深入探讨WorkPlus如何通过定制化的设计,…...

基于maven的项目搭建(已跑通)

1、直接选择archetype-webapp即可 (这里很多人会觉得很慢–解决方案:https://blog.csdn.net/qq_45591895/article/details/133705674?spm1001.2014.3001.5501) 2、手动添加一个java目录即可。 3、添加Tomcat 3、这就跑通了,可以…...

L1-035 情人节 c++解法

题目再现 以上是朋友圈中一奇葩贴:“2月14情人节了,我决定造福大家。第2个赞和第14个赞的,我介绍你俩认识…………咱三吃饭…你俩请…”。现给出此贴下点赞的朋友名单,请你找出那两位要请客的倒霉蛋。 输入格式: 输入…...

DecimalFormat 多语言、本地化指定Locale

DecimalFormat再未指定Locale会使用默认的Locale,不同的Locale会导致格式化时出现出乎预期的现象。如Locale为西班牙时,小数点符号为",“千位分隔符为”."。 所以在多语言或者需要本地化的情况下,使用DecimalFormat最好指定Locale避…...

冲刺第十五届蓝桥杯P0003倍数问题

文章目录 原题连接解析代码 原题连接 倍数问题 解析 需要找出三个数字,三个数字之和是k的倍数,并且这个数字需要最大,很容易想到的就是将数组进行倒叙排序,然后三层for循环解决问题,但是这样会导致**时间复杂度很高…...

操作系统备考学习 day7 (2.3.4 ~ 2.3.5)

操作系统备考学习 day7 第二章 进程与线程2.3 同步与互斥2.3.4 信号量 用信号量实现进程互斥、同步、前驱关系信号量机制实现进程互斥信号量机制实现进程同步信号量机制实现前驱关系 2.3.5 经典同步问题生产者-消费者问题多生产者和多消费者模型抽烟者问题读者-写者问题哲学家进…...

HRM人力资源管理系统源码

HRM人力资源管理系统源码 运行环境:PHP8.1或以上 MYSQL5.7或以上 php扩展要求 fileinfo imagemagick 功能介绍: 综合仪表板 它通过其综合仪表板提供了员工总数、工单和帐户余额的概览。 您可以轻松访问组织中的缺席者以及详细的公告和预定会议列…...

基于SSM的旅游网站设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…...

大厂秋招真题【BFS+DP】华为20230921秋招T3-PCB印刷电路板布线(留学生专场)

华为20230921秋招T3-PCB印刷电路板布线(留学生专场) 题目描述与示例 题目描述 在PCB印刷电路板设计中,器件之间的连线,要避免线路的阻抗值增大,而且器件之间还有别的器任和别的干扰源,在布线时我们希望受…...

RK3588/RK1820嵌入式AI模型选型与部署实战:9大模型场景化应用指南

1. 项目概述:嵌入式AI模型部署的十字路口作为一名在嵌入式AI领域摸爬滚打了十多年的老兵,我见过太多项目在模型部署这个环节上栽跟头。大家手里可能都握着RK3588、RK182X这类性能强悍的瑞芯微平台,硬件算力摆在那里,但真要把一个A…...

jQuery 选择器详解

jQuery 选择器详解 引言 jQuery 是一种快速、小型且功能丰富的 JavaScript 库,它极大地简化了 HTML 文档的遍历、事件处理、动画和 Ajax 交互操作。jQuery 选择器是 jQuery 中最强大的功能之一,它允许开发者高效地选取和操作 HTML 元素。本文将详细介绍 jQuery 选择器的种类…...

碳纤维板的导电特性

简 介: 碳纤维板导电性能测试表明,其表面有机膜被刺破后会呈现导电性,电阻值从十几欧姆到几百欧姆不等,且导电性能随测量点位置变化。测试中使用尖头万用表探针穿透表面薄膜,发现同一束碳纤维连接处电阻较低&#xff0…...

Ubuntu系统部署Cursor AI编辑器:从安装配置到实战优化全指南

1. 项目概述:在Ubuntu上快速部署Cursor AI编辑器最近在开发者圈子里,Cursor这款AI驱动的代码编辑器热度持续攀升。作为一个深度依赖Ubuntu进行日常开发的程序员,我自然也第一时间尝试了在Ubuntu 22.04 LTS上安装和配置Cursor。整个过程比预想…...

如何快速掌握智能游戏伴侣:3步上手的完整实战指南

如何快速掌握智能游戏伴侣:3步上手的完整实战指南 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 还在为英雄联盟中的繁琐操作而烦…...

魔兽世界宏编辑器终极指南:5分钟掌握GSE高级宏编译工具

魔兽世界宏编辑器终极指南:5分钟掌握GSE高级宏编译工具 【免费下载链接】GSE-Advanced-Macro-Compiler GSE is an alternative advanced macro editor and engine for World of Warcraft. 项目地址: https://gitcode.com/gh_mirrors/gs/GSE-Advanced-Macro-Compi…...

frp-panel:基于Web的图形化管理面板,让内网穿透配置更高效

1. 项目概述:一个为内网穿透工具打造的管理面板如果你用过 frp,大概率会和我有同样的感受:它的功能强大、性能稳定,是解决内网服务暴露、远程访问等问题的利器。但它的配置方式——编辑一个文本格式的.toml或.ini文件,…...

开源阅读鸿蒙版:打造你的专属数字图书馆,重获阅读自由

开源阅读鸿蒙版:打造你的专属数字图书馆,重获阅读自由 【免费下载链接】legado-Harmony 开源阅读鸿蒙版仓库 项目地址: https://gitcode.com/gh_mirrors/le/legado-Harmony 你是否厌倦了在多个阅读应用间来回切换?是否对层出不穷的广告…...

别再只让小车跑了!给Arduino履带底盘加上机械臂,实现自动搬运的5个关键点

从玩具到工具:Arduino履带机械臂的工程化升级指南 当你的Arduino履带小车已经能在客厅里自如巡线时,是否想过让它真正"动手"做点事情?给底盘加装机械臂绝不是简单的物理拼接——我曾亲眼见证一个精心设计的六自由度机械臂在第一次抓…...

如何深度定制MPC-HC实现专业级影音播放:终极实战配置指南

如何深度定制MPC-HC实现专业级影音播放:终极实战配置指南 【免费下载链接】mpc-hc MPC-HCs main repository. For support use our Trac: https://trac.mpc-hc.org/ 项目地址: https://gitcode.com/gh_mirrors/mpc/mpc-hc 想要将MPC-HC从普通播放器升级为专业…...