00:00
好,来。刚才呢,我们把那个这个说了一下,下面我们来看呢,是这一个任啊,昨天呢,我们写了一下啊,但是呢,就是大家包括我自己我也知道啊,这个东西是整个里面最难的一部分。啊,我们呢,先把他给干掉吧。首先大家需要对点认有认识啊,啊有人认识,大家想想,我们如果从语法上来说,这个点认需要有一个什么返回是不返回一个新的方,那这个事情我是不是就可以写下来,这个很好写,太简单了,另一个意思,什么和什么。这不已经达到目标了吗?返回一个新的promise搞定是不是再一个?
01:02
我的功能上来说,是不是指定成功和失败的回调函数,这个指定有可能要调用,也可能要保存,是不是。那到底是要调动还是要保存起来的,得看什么,看当前promise是在什么状态,当前pro是不是点任调用,点认这个promise,也就是我这个函数this吧,那我后面要反复用这个this,那我先把它什么存起来。可以吧,这个是不是我们所说的当前的对象,简称当前promise,可以吧?给个promise。得根据他的操作来去判断,到底是要去调它了,还是调它了,还是把他们俩什么存起来,是不是这个事。那我干嘛去?是不是得去根据不同的判断来做不同的处理,三种情况嘛,是不是,而这个事情我能在外面做吗?
02:08
我是写在外面,写在这个六外面还是里面呢?为什么要放在里面,因为我后面还一个事情,我这两个,也就是说返回的这个对象,这个返回的promise的结果有什么决定,由他或者什么他执行的什么结果决定,对不对,那你想啊。我只有在把这两个函数的执行放在这个内部执行,是不是才有人看得到?是不是明所以我干嘛,是不是这里面判断第一种情况是什么,如果当前啊,这个当前promise就是except啊,当前promise有哪些种情况,比如说是啊resultd。
03:10
啊叫result吧,应该状态名叫result这边啊,这是一种情况吧,还有什么情况啊,已经或者已经吧的状态,一个是rejected吧,还有什么pen是不是就这三种情况。好了,那我应该怎么呢?在也什么是是等等于,我是不是定义了一个专门的常量叫什么啊,Reserved对不对?好,整体结构下来,2IF serve点是等等于就是是不是。
04:19
这意思吧,啊,应该是没什么问题了,这是这个是吧。这是这个。新的整体结构是吧,好,上面如果我写注释应该写个什么,是不返回一个什么新的。好,这样写的啊,这这大一点空间。可以吧,可以。那接着是不是在里面处理是吧?你们注意举他为例,他写下面这个条形,这个现在我的状态是不是已经成功了,那我是要去保存回调函数了,还是执行是不是执行是吧?那我是不是就得去调动,我想着执行就执行呗,执行谈什么呢?
05:15
是不是调用成功的回调得传什么,传一个value值吧。我问你是在哪的?那谁的对呀?Small。但是就有一些相关的问题要说。什么题呢?我这一个回调函数能立即我现在是不是同步执行了,但是能吗?等什么E自信一自信谁成功了,回家吧,那怎么做呢?太那个不用写了,因为不写就你对不可以了吧。
06:09
可以了,那可以后啊,那也就是说啊,一旦一旦我调用点任指定成功的回调,如果我当前的状态已经成功了,那这个函数是不是会异步执行。写完了吗?这个if的整个。还有什么事情没有去等?就这。我有去做这个分机吗?是不是没有我们说过这个方面的事情?是不是得在这时候执行的时候是不处理,我们说结果决定说的有点笼统,是不是说的有点笼统啊,实际上是不是一共有三种,有几种好几种情况的呀,来我们把这个。
07:00
这个稍微有点多,写在这里面来。情况一。是什么?有哪些情况呢?他是不是有可能抛出异常,也就是他执行抛了异常是吧,那我们这个结果为什么呢?是不是失败。是不为谁了?是不是有为异常了?是吧,好,还有什么情况。下面是没有出异常,没有收异常,是不是程序要执行返回一个结果,那个结果有两种情况,一种是是promise,一种是什么模式,如果当前啊,如果啊返回的。啊,是。
08:03
说谁谁反回的是谁反回的是不是吧,我们先把第一个做了吧,第一个怎么做。做了一个,做第二个怎么弄,我怎么知道他破异常啊,我是不喜欢穿太紧,如果进度太紧说明泡异常了吧,他有可能异常,有可能没抛是吧?那你说在开车异常时,我是不是要去把返回的promise的结果置为是吧?我怎么让败呢?调用什么,而且要指定他的为I是不是怎么办?搞定,那你说这个我们是做的第一个事情对吧。那下面呢,是不是要根据函数执行的结果来决定那函数执行的结果,那我就要先定一个变量来什么是不是接受这个结果,是不这个结果是不是两种情况,一种是promise,如果是promise,那我反回的promise的结果为谁呢?就是这个promise结果吧,简单说一下就是这个promise的结果,但这个结果包含他的结果状态以及结果数据吧。
09:33
对不对,那我应该怎么说,还一个如果反馈的不是呢。那很简单了,那反过来promise成功失败啊,变为成功是吧,成接着了啊就是吧。是返回值,很简单吧,那我在这里面应该写什么呢?
10:05
是不是120判断是吧,如果怎么着,那怎么着是吧,那我如果这个if是指的啊,那这个L就是什么,是不是就三对吧,有三好三很简单,我们先做三。我直接是成功,怎么成功?多少回那个。有问题没问题,好了,下面是不是先要到判断判断。
11:00
我怎么知道它是一个关呢?也就我要判断他是不是个用什么所。对吧。没问题吧,没问题,好,那接下来我在里面是不是要将这一个result的结果。作为我这个promise的结果,那我怎么得到这个result的结果呢?我怎么知道这个result的结果点只能点认才能得到结果?能听懂吧,那这个是不是一个value是吧,还有一个什么。对,那value这个说明我的是不是成功了,既然你成功了,那谁要成功啊,是promise要成功,我怎么让他成功呢?
12:02
调用它的什么多少,那这个里面我做什么。吊什么呢?刚才我们说过,是不是一个简洁语法呢?这个点句语法也得懂啊,这个你不懂其实很难,说明你的GS的能力确实还有一些有些差距,有什么意思,你开始不懂没关系,等我讲完以后还不懂,这说明了你一个学习能力有稍微有点问题。而且还不是你自学,是我在跟你讲。能听懂吧,就是很多同学就是说跟我说老师我的上课听得很懂,听懂了非常懂下让我写,我就蒙圈。对不?这个其实算是相对正常的情况,你说你一下课了,思路泉涌啊的一下写出来了。
13:08
那你已经不适合在这学了啊,好,肯定是多少要费点劲的啊,非常正常啊,来,我们比较简洁起来,怎么写呢?点认还是要点认?是吧?是不是要指定一个函数来接收成功的值,我指定哪个函数让去接收成功的值,是吧?一旦接受了成功值,那我的是不是就成功了,是不是道理接着了。还什么,那是不是接受失败的值,一旦他收到这个值,我的返回的promise是不是就失败了,那这一次我们用这个啊。
14:04
也就是说这个意思啊,你要能,你要根据我们写的这个东西,把它翻译成代码。现在可以吗?好。那这个就写完了,其实。是不是,那你说我的这个呢,跟刚才比就变了一个,需要变一个什么东西,是不是on result变成什么on交了,那也就是说我的这个东西得应该干个什么事可。是不是把这个拆开整个,也就是说调用回调函数,根据回调函数来去改变状态的这个事情,封装成一个函数吧。能听懂吧,但这个不用,这个不要,我仅仅是把那个调用这个回调函数,以及根据回调函数的结果来去改变状态的这个事情。封装成一个什么函数?
15:02
能听到吧。来封装成一个函数,而这个函数我写到哪里,注意。我写在这个new promise的这个执行器函数里面。能听到不来,我要定义函数。名字叫什么呢?其实这个名字可以随便写,取个差不多的名字就行,比如说pen名字处理就用啊处理谁的处理毁掉函数调用以及promise状态的改变是不是,但是要传什么。为什么要后,因为我有可能调的,有可能调什么,Jacket你给我什么我就调什么,是不是对不好,来把这个函数给说一下。这个是去干嘛的呢啊,它有几个作用,执行指定的什么回掉函数,第二个根据啊,执行的结果改变谁的状态,Return的的状态和数据,对不对,我这个代码刚才我们是不是已经写了。
16:25
是吧,啊,已经写了好,但是这个稍微有点问题。嗯,这有点不对,这个啊,这格式最好调好。有看到好,那有了这个函数就非常简单了。你想看?如果说。我们当前是已解决的状态是吧,成功的状态,那我应该是不是不管成功状态是不是,是不是都得调它传哪个回调函数是不是,那如果是他呢。
17:11
其实很简单。这个时候变的是什么呀,立即义不之心,什么失败的回调是吧,那接着呢,什么是吧。那现在我们应该怎么做啊?我们应该干嘛去?是不是要像啊像啊我们的去保存啊,想成功和什么。失败的回掉函数,保存到去之心,保存到是不是里面去啊对象啊,往里面简单写一下是不是缓存起来。
18:08
能懂能懂吗?啊缓存起来了,好,那这个怎么做。应该用吧,Self,我是不是一个push。是不是个对象是吧,好传一个对象,那我是不是要把这两个,呃,回流函数是不是存起来,那我第一下能想到的事情就这么紧。但这么写对吗?不对,不对吧,不对,是因为将来变成成功了或者失败了不调用吗?问题在哪?问题?他会不会调用将来。也就编程成功以后,它会不会调用,现在之所以存是因为现在没有变成成功嘛,他就没调,所以我存起来,家长会不会调用,会,关键问题在哪里。
19:12
没有延迟,没延迟吗?就没有一步执行吗?一步执行的操作在前面,这不都已经写好了。这个也有义务处理吗?是不会议不执行的。但关键是我们还是没有满足这个事情。这个没做呀,你这做了吗。你没有错了,是不是也就说你没有根据执行结果是不是来改变返回的框状态?有机会吗?你这么写就没意味。但是我要产生这个机会啊。那我得包一个函数。我得自己定义个自己函数,但名字是这个名字。
20:01
是不是在这个函数里面是不是去调用回调函数,并且根据回调函数的结果是不是去改变方米的状态,这个事情应该直接执行程序看的小学。是不是传回函数,回函数是哪个嘛,当然这里面可以接受一个什么东西,还记得不。是不是就是一个value,当然这个value其实我用了吗?没用,当然你可以不写啊,写一下也没关系,说明这个事情啊,好,下面这个。了呗,叫什么什么。能不能看到。可以,是不是好?来这个其实就算是写完了,也就是说其实一旦我把这个汉的函数封装好了。
21:05
那整个流里面流程是并不那么难是不是。也就是说你要知道啊,这这个人里面。首先任是要返回一个promise的,对不对,还一个这个任里面是不是要去处理这两个回调函数有可能要存,有可能是什么要调用。还有一个事情。这两个函数调用的结果。会影响到谁的状态?Promise返回到promise的状态,对不对啊,就这三个方面的事情,你要对这三个方面,你要知道这里面需要有这方三个方面的事情要做。你才有可能去写。当然,还有一些事情需要做,就是指定这两个人的默认值。指定回调函数的默认值能听到不,而且这个默认值不是说你传让或者从按里派的,我就给你指令,而是说只要你不是函数。
22:05
那我就给你指定一个默认函数,你必须是数,听懂了吧,最后的结果你不是,我也让你是。只要你不函数,那我就给你一个函数,就必须是函数能听懂吧,那怎么做呢?嗯,给它重新赋值是吧,重新赋值那判断一下它是不是函数,怎么说它它等等于发现,如果等于我要变吗?不变,那还是这个是不是关键,否则我要给它指定一个默认函数啊。这一个成功回调的默认函数可以怎么写,是不是叫Y轴向下继续传递?是吧,好,那如果说如果说我的这个这个呢。啊,看好了,我这边写错了,三自己写错了,如果它是方形,那没什么。
23:03
否则。这是要定一个默认的失败回函数,这个单写过来。接着打括,接着使用谁,我也不改,你不能改,能听到吧,继续向上传递,也就是说成功的回调,继续向上传递的办法就是定义一个返回Y面的函数。是吗?是吧?而失败的朋要想继续下产品怎么办?像去定义一个抛出reason的函数。是吧,一个是返回,一个是抛出什么reason。说白了,你要成功就继续成功,你要失败,就必须什么继续是失败的。嗯。
24:03
怎么好像好像比昨天是不是快了很多很多。那是昨天咱有问题是不是。那说明大家昨天晚上还是有部分同学还是花了很多时间去看的啊。
我来说两句