Promise.all和Promise.race的使用区别
时间: 2024-06-20 14:00:18 浏览: 95
Promise Promise.all 的使用
Promise.all()和Promise.race()是ES6中的两个重要的Promise方法,它们的区别如下:
1. Promise.all()方法接收一个包含多个Promise对象的数组作为参数,并返回一个新的Promise对象,当数组中所有Promise都resolve时,新Promise才会resolve,并将所有Promise的返回值组成的数组作为resolve的值。当有任意一个Promise被reject时,新Promise就会reject,并返回第一个被reject的Promise的reject原因。
2. Promise.race()方法同样接收一个包含多个Promise对象的数组作为参数,并返回一个新的Promise对象,当数组中任意一个Promise对象resolve或reject时,新Promise就会resolve或reject,并将第一个resolve或reject的Promise对象的返回值作为新Promise的返回值。
简单来说,Promise.all()会等待所有的Promise对象都resolve之后再返回结果,而Promise.race()则只要有一个Promise对象resolve或reject就会立即返回结果。
阅读全文