Interview icon indicating copy to clipboard operation
Interview copied to clipboard

Day373:Promise.all()和Promise.race()的区别并自己去实现这两个方法?

Open qappleh opened this issue 4 years ago • 1 comments
trafficstars

qappleh avatar Apr 28 '21 02:04 qappleh

一、Pomise.all 常见使用场景 : 多个异步结果合并到一起

Promise.all可以将多个Promise实例包装成一个新的Promise实例。用于将多个Promise实例,包装成一个新的Promise实例。

1.它接受一个数组作为参数。

2.数组可以是Promise对象,也可以是其它值,只有Promise会等待状态改变。

3.当所有的子Promise都完成,该Promise完成,返回值是全部值的数组。

4.如果有任何一个失败,该Promise失败,返回值是第一个失败的子Promise的结果。

二、Pomise.race 类似于Promise.all() ,区别在于 它有任意一个返回成功后,就算完成,但是 进程不会立即停止

常见使用场景:把异步操作和定时器放到一起,如果定时器先触发,认为超时,告知用户

qappleh avatar Sep 06 '21 08:09 qappleh