设计并实现 Promise.race()
返回一个 promise,一旦迭代器中的某个 promise 解决或拒绝,返回的 promise 就会解决或拒绝
效果示例:

const promise1 = new Promise((resolve, reject) => {setTimeout(resolve, 500, 'one');
});const promise2 = new Promise((resolve, reject) => {setTimeout(reject, 100, 'two');
});Promise.race([promise1, promise2]).then((value) => {console.log(value);// Both resolve, but promise2 is faster
});
function myPromiseRace(ary) {return new Promise((resolve,reject) => {ary.map(item => {item.then(resolve).catch(reject)})})
}myPromiseRace([promise1, promise2]).then((value) => {console.log(value);// Both resolve, but promise2 is faster
}).catch(res => {console.log(res)
})

js-设计并实现 Promise.race()相关推荐

  1. js实现promise.all promise.race promise.resolve

    最近在准备面试,关于 promise 是面试的热点和考点.不定面试官心情好了就会让你写个 promise 的 api 废话不多说,下面是我写的代码,如有不严谨之处希望指出. promise.all 当 ...

  2. js之- 简解Promise的resolved,rejected,Promise.all 和Promise.race(知识记录)

    1- Promise的三种状态: 1- Pending(等待,未完成,进行中) 2- Resolved(成功) 3- Rejected(失败) 2- Promise的三种状态关系变化只有两种: 1- ...

  3. 【JS】Promise.race()方法例子流程详解

    在理清Promise.all()中每个流程的时候实在是头大,理了半天,做此记录以便回顾 promise部分源码如下,只摘取用到的部分 function Promise(excutor) {const ...

  4. 自学JavaScript第四天- JS 进阶:AJAX Promise Canvas

    自学JavaScript第四天- JS 进阶:AJAX Promise Canvas AJAX 使用 XMLHttpRequest 使用 fetch() 方法 处理 AJAX 数据 安全限制 跨域方案 ...

  5. node.js学习笔记之promise

    这篇文章说说我对promise的理解. promise在ES6之前就有的写法,在ES6中写入了语言标准,于是就有了原生promise对象. promise对象能更好的改善异步操作的回调地狱,把多层嵌套 ...

  6. 使用Promise.race()实现控制并发

    之前做过一个 Node.js实现分片上传 的功能.当时前端采用文件切片后并发上传,大大提高了上传的速度,使用Promise.race()管理并发池,有效避免浏览器内存耗尽. 现在的问题:Node.js ...

  7. 电商项目实战第五节: CSS3+HTML5+JS 设计案例【考拉海购网站】之【商品栏及右侧垂直导航】

    上一节:电商项目实战第四节: CSS3+HTML5+JS 设计案例[考拉海购网站]之[轮播图特效] 文章目录 [考拉海购网站]之[商品栏及右侧垂直导航] 第一步,页面布局分布情况分析 第二步,根据页面 ...

  8. JS - 15 - 异步、Promise、async、await

    Promise 类似 java 的 Callable then 方法 类似 java 的 Future 下一篇: <JS - 16 - 任务调度.宏任务.微任务.轮询> PromiseA+ ...

  9. Vue.js 官方团队成员霍春阳新作,深入解析 Vue.js 设计细节

    霍春阳(Hcy),Vue.js 官方团队成员.专注于 Web 研发领域,是 Vue.js 3 的核心贡献者之一,Vue.js 文档生成工具 Vuese 的作者,技术社区活跃者,曾撰写大量颇受好评的技术 ...

最新文章

  1. 装饰器,闭包,高阶函数,嵌套函数
  2. Apache应用实例:建立yum服务器
  3. AM335X 分配大于4M的framebuffer
  4. 如何评估深度学习模型效果?阿里工程师这么做 1
  5. 如何使用初始化列表消除冗余C++代码
  6. C++类与对象实验(六)
  7. ASP.NET Web Pages:WebGrid 帮助器
  8. 控制工程实践(7)——PID四种类型控制器(之比例控制器P)
  9. 猛文:关于中国歼20气动性能…
  10. 辞职时被领导挽留,要不要留下?
  11. 惠普电脑u盘重装系统步骤_惠普笔记本系统重装|惠普笔记本电脑U盘重装系统步骤教程...
  12. 宝岛探险(C语言 )(DFS+BFS)
  13. CommandLineRunner
  14. 又是一年1024(2019)
  15. 微信小程序评论功能的实现(用的是假数据)
  16. 「凹凸数据」历史文章合集,更新中
  17. 计算机网络组件连接方式有,一种计算机网络信号连接装置的制作方法
  18. SCRUM Beta Day 2
  19. 【fast ICA】基于fast ICA算法的去除伪迹matlab仿真
  20. 跟益达学Solr5之使用IK分词器

热门文章

  1. unity editor android 黑屏_如何在Unity中利用nReal制作AR应用
  2. 四线电阻触摸屏原理(仅作为学习记录)
  3. 工作是基础,身体是本钱
  4. php六脉神剑,小黑神之“六脉神剑”
  5. java毕业设计巢院小区疫情管控系统Mybatis+系统+数据库+调试部署
  6. 学习UEFI的一些步骤和资源
  7. 联通iphone印象
  8. 如何使用Reaver-PJ-Wi-Fi网络的WPA密码
  9. c语言strncpy函数定义,strncpy (Strings) – C 中文开发手册
  10. 移动硬盘显示磁盘未被格式化要怎样办啊