下面关于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对象的状态集合