00:00
好,下面难度呢,就慢慢增加了。好,这里面其实再说一个事情啊,说一个什么事啊。关于promise,我是不是有一个概念叫操作,叫改变promise的状态,指定它的新的值,是不是改变装的同时是不是指定的值,是不是这是一个操作,还有一个操作,我是不是要指定毁掉函数,毁掉函数才有可能调动,我要没有指定回掉函数,我能得到数据吗?得不到,所以我有两个事情要做吧,那问题来了。这两个事情谁先谁后了?能听懂我这意思不,谁先谁后了。啊,也就是说这一个谁先谁后是固定不变的吗?是一定说先改状态后指定的回调函数,对啊,你要想到啊,这肯定是有谁先谁后是这意思不,而且要满足两个条件,是不是最终回掉函数才会掉。
01:10
你光指定的回调函数状态没改,你说回调函数会掉不会。是吧,你该不改呢?你改的状态发现回的函数没有,你能掉吗?是不是也不能,函数都没有,那你肯定掉,我难道必然的是不是好。那我现在问你。我们一般的逻辑是谁先是改状态先,还是啊指定回调先,我们平常正常逻辑是不是启动异步任务成功或者失败以后才改状态,而任是立马就用的。什么意思?你看我一般不是来个out吗?是吧,来模拟嘛,1000是不是到了1000以后一步任务完成的呀,完成以后我此时才去掉什么re肉啊,随便传个一吧,能懂不?然后我下面是不是立马就会调用这个点阵,甚至于说我细短的定义是不是?
02:12
直接是不是来了个点刃,是这道理不,他现在你说谁先谁后啊,是不是点任指定回掉先,也就是说先指定什么回掉函数对不?而这里面后改的什么后改状态,当然改变状态同时还指定了什么东西。数据是不是同时指定数据,就是改状态和指定数据它是一起的,是两者结合在一起密不可分的,懂不懂好指定数据那。现在有个事情,他先指定回调后改的状态是吧,那那也就是说后改状态的时候,是不是就应该去调用回调函数了。
03:06
能不懂?而大家应该知道,Promise的成功和失败的回向是义务执行的吧?是是不是是了不啊,记着异步执行什么去毁掉函数去,好,现在有个事情。有个事情,他怎么知道回力函在哪呢?有的老师在这呀。关键我是人,看着对不对。是这意思吧,啊,那他你想想看,我先指定回函数,当时是不是还没有变成功,那他要对回函进行一个什么处理呢。能执行吗?不能,那怎么处理呢?那把回答函数要干嘛,你想看你定义了,你有一个回单传到某一个内部去了啊,你就想一个事情啊,啊,传到一个函,传到一个函数内,传到一个对象内部去了,或传到一个函数内部去了,那他现在不执行,那先是不是要保存起来。
04:10
是不是这个道理?能听懂不,也就是我是先指定的回调,而此时状态还没改,是不是,那我只能先做什么事情,对啊,先什么保存当前指定的什么回掉函数,当然都是它内部在做。李老师,那么多的事情你给我说啥?你要把这个事情搞清楚,咱后面在写实践的时候就轻而易举了。咱慢慢慢慢的去走进内部,就慢慢慢慢意境走进去,虽然说咱现在在外部使用。是吧?你通过外部使用来感知背后在做什么,那么最后你写出来就没多远了吗?是这个道理,不,而你只有保存起来,后面是不是才有机会去掉你的回弹函数?
05:00
这个是正常的,很多情况都这样的,对不对?但一定是先指定回调后改状态吗?来,你来给我设计一下怎么样实现。先改状态后指定回调,我把这个代码怎么改一下就行。我不改点行不行。好比如说我这么改把定去掉,最简单的办法,你说是不是,那也就是说先执行的什么,先,诶这个后边是什么先先改状态。同时是不是指定了数据,这个时候调回来什么不掉,这个时候只能是把那个状态存起来,把那个数据存起来对不对?改状态,说白了就状态已经变为一个值了,那个值没丢掉对不对。好,接着呢。后指定的什么?后指定的回调函数,那后指定回调,它还要保存回调函数吗?那不用了,那是不是得去调用回调函数,当然也是等于什么。
06:10
义务执行回率函数,当执行哪个,这个是不一定的,是不对,那得看你到底是成功了还是什么失败了,也就是说当我点的时候,我就发现已经有结果,是不可能成功,也可能什么失败,这能听到不啊能啊好没问题,这个大家是知道就行啊,这个写写个写。啊。是这个,那刚才有同学好像说了另外一种实现啊,先啊先改状态后指定回调函数,是不是还有一个什么办法。
07:00
嗯,就是如何先改状态是吧,改状态后什么指定回调函数能听到不?我们常规的代码其实一般都是什么啊常规的。都是先指定什么毁掉后改变的什么,改变的状态当然就是我们一般用的常规,但是你要把各种可能性都搞清楚,那其实也会帮助你,整个你都很清楚了。你知道的越多,其实整个体系你就建立起来了,你知道的越少,你知道的脑子里面存的都是些什么东西了,大家知道你知道东西少,都是一些碎片。能懂不?你要脑子里存的碎片,一个是容易丢,再一个你用不上。因为干一件事情,做很多事情,他需要一个体系才能帮助你去做一件事情。
08:06
这个明白吧,嗯,好。当然啊,除了这种方式,我们刚才说是不是还有一种方式啊,来,我再来一下,比如说这一个吧,这个我就不测了,大家应该都很清楚,我们说清楚就行,比如这个。接着了。啊,我开始不延迟是吧,我不延迟就一定不行吗。我正常逻辑是不是去异步执行任务,就过了一段时间,是不是才宙那我就不能先去指定点单呢?先改状态不行吗?怎么说我那个点阵比他晚一点是不就可以,怎么比他晚一点啊,设置个定时器比他什么是不是不晚,我也不晚多了,是不是我就晚了一丁点是不可以,只要晚就行是不是?那这个时候得定一个变量是吧。
09:00
因为上面是不是没有屁啊,我定一个P就行,我这个时候干嘛去P一点认是不是改变啊,那我可以是不是指定成功或者失败的回调。一样的道理是不是?能看懂吧,啊,假设我这个就写成三吧。没问题吧,你这个应该是大家都懂的。啊,虽然说这种我们不太用,但是你得知道我能,说白了就是我有控制能力,我想怎么着我就能怎么着。是吧,而不是说我们就知道我用的方式怎么样,其他方式一问都不清楚,那样就不好了啊。这问题不大吧,啊,行啊。
我来说两句