Promise.all
用于将多个Promise实例,包装成一个新的Promise实例。它接受一个数组作为参数。数组可以是Promise对象,也可以是其它值,只有Promise会等待状态改变。
当所有的子Promise都按顺序执行完,该Promise完成,返回值是全部值的数组;
如果有任何一个失败,该Promise失败,返回值是第一个失败的子Promise的结果。
比如开发中有个组件需要多个请求完成之后再进行渲染,这时候用promise.all就非常nice了
Pomise.race
类似于Promise.all() ,区别在于 它有任意一个返回成功后就算完成,但进程不会立即停止。也就是说哪个结果获得的快,就返回那个结果,不管结果本身是成功状态还是失败状态。
常见使用场景:把异步操作和定时器放到一起,如果定时器先触发,认为超时,告知用户
**注意:**不管是promise对象还是promise.all,只要是遇到失败,promise的状态都会变为rejected,不会执行后面.then(),而是直接走.catch()方法。
Promise.all/race 的作用及使用场景
最新推荐文章于 2024-03-29 00:00:00 发布