当前位置: 首页 > 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
http://www.lryc.cn/news/186853.html

相关文章:

  • 通讯网关软件019——利用CommGate X2OPCUA实现OPC UA访问Oracle服务器
  • 【机器学习】svm
  • 基于SSM+Vue的学习交流论坛的设计与实现
  • 开发与运营:“开发”和“运营”角色有何不同和重叠?
  • 关于GD32引脚PA13、PA15、PB3、PB4配置为普通引脚的问题
  • JS-Dom转为图片,并放入pdf中进行下载
  • Python 无废话-办公自动化Excel格式美化
  • Python视频剪辑-Moviepy音频效果afx方法
  • 让LLM模型输入token无限长
  • RabbitMQ 介绍与 SpringBootAMQP使用
  • 企业门户的必备选择,WorkPlus的定制化解决方案
  • 基于maven的项目搭建(已跑通)
  • L1-035 情人节 c++解法
  • DecimalFormat 多语言、本地化指定Locale
  • 冲刺第十五届蓝桥杯P0003倍数问题
  • 操作系统备考学习 day7 (2.3.4 ~ 2.3.5)
  • HRM人力资源管理系统源码
  • 基于SSM的旅游网站设计与实现
  • 大厂秋招真题【BFS+DP】华为20230921秋招T3-PCB印刷电路板布线(留学生专场)
  • OpenCV Python – 使用SIFT算法实现两张图片的特征匹配
  • doc转html后添加style和导航
  • Python中跨越多个文件使用全局变量
  • 设计模式 - 解释器模式
  • javascript禁止鼠标右键和复制功能
  • WebDAV之π-Disk派盘 + 咕咚云图
  • C语言-数组
  • Linux UWB Stack实现——MCPS调度接口(API)
  • el-tree中插入图标并且带提示信息
  • 竞赛选题 深度学习 YOLO 实现车牌识别算法
  • Direct3D网格(一)