首页 > 其他分享 >Promise.all(iterable) 参数可以不是数组,但必须具有 Iterator 接口,且返回的每个成员都是 Promise 实例

Promise.all(iterable) 参数可以不是数组,但必须具有 Iterator 接口,且返回的每个成员都是 Promise 实例

时间:2023-11-16 14:57:31浏览次数:22  
标签:触发 Iterator 实例 promise 数组 Promise iterable

下面关于Promise的all方法说法错误的是( )

A
promise.all(iterable),参数是一个数组

B
只有这个数组中的所有promise实例都resolve之后才会触发其返回的promise实例的then

C
只要其中有任何一个promise实例被reject,那么最终的promise实例将触发catch

D
触发then时可以只带上iterable参数中的部分值,也可以带所有值。

正确答案:D

iterable是一个全部为promise对象的数组,
只要数组中有一个promise实例被reject,那么最终的promise触发catch,
只有数组中全部promise实例都resolve才会触发then,并且要带上iterable中全部promise,其中promise实例将会被结果代替

Promise.all(iterable)

这个方法返回一个新的promise对象,该promise对象在iterable参数对象里所有的promise对象都成功的时候才会触发成功,一旦有任何一个iterable里面的promise对象失败则立即触发该promise对象的失败。
这个新的promise对象在触发成功状态以后,会把一个包含iterable里所有promise返回值的数组作为成功回调的返回值,顺序跟iterable的顺序保持一致;
如果这个新的promise对象触发了失败状态,它会把iterable里第一个触发失败的promise对象的错误信息作为它的失败错误信息。
Promise.all方法常被用于处理多个promise对象的状态集合

标签:触发,Iterator,实例,promise,数组,Promise,iterable
From: https://www.cnblogs.com/longmo666/p/17836233.html

相关文章

  • egret promise
    在TypeScript中,Promise是用于处理异步操作的对象。它表示一个可能在未来某个时间点完成或失败的操作,并返回操作结果或错误。Promise可以有三种状态:pending(进行中):Promise的初始状态,表示操作正在进行中。fulfilled(已完成):表示操作成功完成。rejected(已拒绝):表示操作失败。......
  • promise时效架构升级方案的实施及落地
    一、项目背景为什么需要架构升级promise时效包含两个子系统:内核时效计算系统(系统核心是时效计算)和组件化时效系统(系统核心是复杂业务处理以及多种时效业务聚合,承接结算下单黄金流程流量),后者依赖前者,分别由两组技术团队支持;因为有些业务的渗透造成两个系统的边界越来越不清晰;有......
  • Object的原型没有实现Symbol.iterator所以不算做可迭代对象。
    以下哪些对象是Javascript内置的可迭代对象?AArrayBMapCStringDObject正确答案:ABCES6规定,默认的Iterator接口部署在数据结构的Symbol.iterator属性,或者说,一个数据结构只要具有Symbol.iterator属性,就可以认为是“可遍历的”(iterable)。原生具备Iterator接口的数据结......
  • javascript promise all实现图片顺序加载
    不使用promise时是异步加载,图片加载的顺序不固定<!doctypehtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,user-scalable=no,initial-scale=1......
  • C++ 中 <iterator> <functional> <numeric> 库好用的函数
    C++中<iterator><functional><numeric>库好用的函数泰裤辣!<iterator>简述:迭代器省代码用的。std::advance记忆方法:advance-前进。形如:advance(it,step),表示it迭代器自增step步。实现类似于:functionadvance(&it,n): whilen>0: --n ++it whilen<0:......
  • Vue 在内部对异步队列尝试使用原生的 Promise.then、MutationObserver 和 setImmedia
    下列关于Vue的描述错误的是()A当给某个组件修改某个值时,该组件不会立即重新渲染BVue内部使用原生Promise.then、MutationObserver和setImmediate实现异步队列,不会采用setTimeout(fn,0)C$nextTick()返回一个Promise对象D$nextTick()可以配合async/await使用正确答案:B官......
  • 一个数据结构只要具有Symbol.iterator属性,就可以认为是“可遍历的”(iterable)
    请问以下JS代码的执行结果是什么?functioncontrol(x){if(x==3)thrownewError("break");}functionfoo(x=6){return{next:()=>{control(x);return{done:!x,value:x&&x--};}}}letx=newObject;x[Symbol.......
  • JavaSE(十八)-迭代器Iterator
    文章目录1.引言2.Iterable3.Iterator4.迭代器遍历5.并发修改异常5.List特有的迭代器ListIterator5.1.特有的方法6.增强for循环1.引言为了方便的处理集合中的元素,Java中出现了一个对象,该对象提供了一些方法专门处理集合中的元素.例如删除和获取集合中的元素.该对象就叫做迭代器(......
  • Collection&Iterable
    Collection概述Therootinterfaceinthe<i>collectionhierarchy</i>.Acollectionrepresentsagroupofobjects,knownasits<i>elements</i>.Somecollectionsallowduplicateelementsandothersdonot.Someareorderedandothe......
  • Promise.all静态方法
    前言AJAX的学习到这里就告一段落了,后面会做个小项目巩固之前学过的知识。后面会继续学习Node.js以及Git等知识。一、概念合并多个Promise对象,等待所有同时成功完成(或某一失败),做后续逻辑二、语法三、案例示例需求:同时请求“北京”,“上海”,“广州”,“深圳”的天气并在网页上尽可能同......