温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
Hello,大家好,这个小节我们来介绍一下promise当中另外一个方法race race呢也是属于promise这个函数对象的,Race这个单词啊,本身意思是赛跑的意思啊,它呢在这里接受一个参数,这个参数呢一般也是一个由数,由这个promise组组成的一个数组。它的返回结果呢,也是一个promise对象,跟all呢有点相像,它的结果状态由什么来决定呢?由第一个改变状态的promise对象,由他来决定,他如果成功,则瑞就成功,他如果失败,则瑞就是失败,就相当于是在赛跑啊,Promise之间在赛跑,谁他先改变了状态,谁就决定race方法的返回结果。好了,我们接下来给大家演示一下,在这呢,我把上一个小节那三个promise对象呢,我们拿了过来,接下来开始调用promise.race里边P1P2,然后P3。
01:11
然后接收一下结果,打印一下,那么以当前这个代码来为例,谁他们三个谁先改变状态呢?啊,这个时候明显是吧,这个时候是P1他先改变状态啊,所以说咱伪造的结果呢,就是由P一来决定他成功。啊,然后result成功,它成功的结果就是result成功的结果,好,我们可以来看一看,点开刷新页面。点开你可以看一下这个状态是成功,然后这个成功的值就是P1,它的一个结果,好,那如果说我在这块呢,是一个定时器,是一个异步任务。啊,是一个义务任务,那么在这种情况下,这三个promise对象他们谁先改变状态呢?肯定不是P,接下来的话就按照顺序排是吧?P1肯定不行了,因为他得是一秒钟之后才改变状态呢,那么很明显是P2它先改变状态啊,所以说race的返回结果就是P2它的一个结果,P2呢是成功,所以说result成功,P2成功的结果为success,则这个result它的这个结果也是success。
02:35
好,切过来,右键刷新。点开状态成功啊,这个成功的结果就是success。这是当前的话啊,这个给大家演示了一下promise的方法。
我来说两句