00:04
回到我们这里,我们前面已经做好了一些准备工作啊,我们做好了一些准备工作啊,就是我们准备了三个属性是吧,一个用来去成状态的,一个用来存什么数据结果值的,是不是可能成功也可能什么失败,嗯,第三个用来存储什么回掉函数的,并且准备了两个什么。是不是准备了两个用于改变状态的回调函数?还有一个我们调动了谁,是不是执行器,那我们在执行器里面是不是就有可能去执行或执行好,我们先想想我们执行的时候需要做什么事情,也就说我执行他他内部干嘛呢。你想大家觉得有哪些事情需要做,要不要改状态,要把将状态改为什么啊,改为我写好一个,另外好写了还要干嘛,要不要保存数据啊,保存value数据。
01:17
对不对,其实还有一个要做这个往对象吗?往外这个地方说我调有没有一种可能性,我这里面已经有东西了。也就是我调的时候,回调函数已经指定过了。有没有很有可能,刚刚前面不分析过吗?有可能先指定的回掉再掉是不是。也就是说,如果有待执行的后派函数,那我应该干嘛?是不得去执行那些回调函数,知道不但是我们说过那个成功和失败的回调函数是同步执行的吗?
02:09
是同步执行的吗?是不是永远是异步执行?啊,异步执行回调,大家说我要立即异步执行回,实际上是要把一函是做一个什么处理,是不是交到回调队列里面去处理。是不是看见啊,异步之行回调函数啊,注意啊,等会我写你就知道了,来这前面两个很简单,前面两个很简单,认识列等于接着了认识列。好吧,等于Y。这意思吧,好,来下面这一个了。如果有,我怎么知道有没有呢?
03:00
判断一下怎么判断,认识点什么认识干嘛。挨你骂。是吧,是不是有吧,有我是不是要执行这个数组里面包含的所有的的回调函数。对不对。是不是看见这个要执行吗?不用不能执行是不是,那怎么办呢。来吧,那我再去遍历吧,This,点点什么?FOR1那一里面每一个是一个回调函数。编辑出来每一个是个回调函数吗?不是,是包含你两个回调函数的什么对象?那怎么写名字呢?
04:05
这什么意思啊?首先他是个对象。为什么要写S啊?为什么要选S啊,多个几个,这两个说清楚。你别随便十个多个人蒙我啊。没看到吧,那但是我要水了那个的。传谁要不要三要不要传参数啊。你调用成功的回调的时候不给他传数据吗?传哪个value,哎,这是个什么回事啊,刚才是不是有地方搞错了,写错位置了吧?嗯,打到两个点上了啊来再写一下。你调用成功的回调,怎么能不传数据呢?
05:01
是吧,但是得说我这么写,我的这个函数还是异步执行,是放在对应里面执行的吗?是吗?我这是一不执行,你想啊,我一上来我的这个,我是不是这个函数,这个函数不是立即会执行,我可能你看我现在就立即执行了,对不对,同步执行了吗?那接着我在这里面啊,一顿判断,最后。是同步执行的呀,这有放到队列里面去啊,就说没有,我必须想办法把它放到队列去,而且啊,如果后面我们会讲红队列和微队列,就说吗?啊没有没关系,就放到队列去,你先不管红队列,微队列,你就管队列,那怎么样把它放到队列里面去了啊,现在我们简单的做法就这么做。对哪一个set out指定零或者不指定就是零,能不能听懂。
06:01
看没看到,也就是说我所有的回调函数是不是都在队列里面去放,队列以后再执行了。因为我这个函数是在队列放到队列里面去的嘛。是不是概念?啊,注意啊注意,其实这个写法不太准确,因为我们最后要跟大家去说红对的微对的问题,当然这个能模拟模拟一下就行,注意啊,这里面一定要晒的太慢的。执行啊,成功的毁掉。执行所有成功的回调。能不能看到。那你想啊,这个写完了,你说下面的哦。那不轻而易举了吗?什么意思?改为什么呢?是不是改成。
07:00
四个吧,啊改了接着呢,这个地点是多少,那我们如果有待执行的回调函数,我得去逆交谁了什么对不对,能看到不好,这个里面要改的是谁告诉我。就是这个。改成什么一个什么。对吧,还有一个事情啊,这个里面的事情都做完了,还里面还有个事情,我们前面说过一个事情,如果我反复的去调用,后面调的有意义吗。没有意义,为什么我们前面说过一个事情状态只能改一次,是不是也就是说你只有是pending状态才能变成?那你想啊,这前面要有一个判断,其实。
08:04
要有个判断,什么意思?如果当前状态不是喷直接什么直接干吗?直接结束啊,你说下面的事情还做吗?那不能做了,对不对。能听到不,我们前面不反复强调吗?状态只能改一次对不对。那怎么限制这个意思,If this点啊,不等于谁。谁?喷嘛,咱不写了吗?是不是开始是最先是喷是吧?啊那我直接干嘛是不你。
09:02
能看到吧,下面这一个。跟这个什么一样的这个意思。好,再问大家一个问题,是关于这个处理问题,我们前面说过一个事情,如果我的执行器泡了异常呢?我在执行器里面泡了个异常,我的promise会变成什么状态?是不是失败的状态?那你说我既没掉是不也没掉,但是我是不是失败了,那我的执行器抛了异常,我怎么样让我的promise变成失败的状态呢?既然有个人抛异常,那我得干嘛说捕货异常有人抛是不是就外面是不是就有人补货,那也就是说我去调用这一个执行器的时候,外面得套一个什么check开,Check开一旦开到异常呢?
10:01
干嘛?那现在是不已经能确定我promise的状态了,应该是失败的对不对?你说怎么样让一个promise真的失败啊,调哪个函数,哪个函数我的promise就会变失败,对,Reject传谁呢?对呀,传吗?咱不说抛异常抛的什么,你那个原因就是什么。对不对。对的,不也就是说如果执行器把这个写完,我们就休息啊,等会再测执行器抛出什么异常,那我的promise对象变为什么,是不是变为失败变为是吧。
11:02
啊,当然里面还有问题啊,等会我们测试的时候再去看啊,时间挺长了,我们先休息会啊,稍微休息一下。
我来说两句