24届前端备战春招第9天。
24届前端备战春招第9天,先给大家看看自己小红书等大厂的一些面经。可以看到promise的all方法是必考的,我先给大家简单说一下这个all方法是干什么的。
·all方法可以理解成老鼠屎,因为一颗老鼠屎坏死一锅汤。在all中只有所有成功才能成功,一个失败就是失败。
·all方法传入一个promise数组,返回值是一个新promise,成功返回所有promise的值,失败就返回最先失败的promise。
·便利传进来的数组,因为数组里面不一定是promise,所以通过promise点resolve方法快速地创建promise,并以一个数组接收返回值。
·重点来了,要通过计数器来判断所有promise是否成功。因为数组里面的都是异步任务,没有办法直接判断,每成功一个就加一,当等于数组长度时就证明所有都成功了。
·捕获失败的情况就比较简单,直接在catch中捕获,然后rejected就可以了。
这就是all方法的实现,好像也不是很难,希望对大家有所帮助,明天就把race方法给拿下。
本文暂时没有评论,来添加一个吧(●'◡'●)