00:00
好,那后面的几个呢,就没什么,这些我们都讲了,大家看啊,这几个其实我们都讲了,包括这个流程是吧?啊,包括我们的请求响应数据转换器是什么,属于两个转换函数。一个是转换请求的请求体数据的,对不对,一个转换什么响应体数据的关键代码,刚才我们也说了吧。啊,关键代码都说了一下,但我这里没有显示那个开启。结构刚才我们是不是说过了,那个L的结构,刚才是不是也说过了,我就列出主要的几个啊,那个不太主要的我就没列出来。没问题吧,没问题。那不就剩最后一个了吗?是吧?好好,这个如何取消未完成的请求呢?对吧,来。
01:03
这个地方涉及到几个地方啊,说一下啊说一下来看一下。注意。先回过头来再看一下我们那个写的发取消请求代码最基本的那个写法。我们写蛋白时写哪些抗压?我们很重要写了一个配置。是不是写了一个指定配置,而且配置的值是不是六了一个C。对不,那是不是,而且这个这个代码是不是同步执行了,是准备发起钱是不是就执行了。而且我还得到了一个什么东西,是不是用于取消请求的函数,并且我还必须给他什么。是不是保存起来对吧,那将来一旦调用这个函数,就可以实现一个什么效果。
02:08
是不是取消请求,实际上就中断请求对吧?但前提是这个请求还没有什么,还没有完成。对不,那发肯定应该是发出去了,对吧,还没完成。肯定好不啊,当然我们可能还在请求成功啊,或者失败之后做这个,这个很简单对吧,这个不用太说。啊,重点是他怎么给我的一个函数对不对,这个函数怎么去中断请求的呢。这是两个重点。一个事情,他是如何将这个C交给我的,他是个什么样子的,对不对。我执行这个函数,它为什么能够中断请求呢?他写了什么代码来中断请求呢?对不对,你看那我从哪看起了,从这个六他来看起,对不对,你看我六他干了什么啊。
03:03
我就找到对应位置六是不是要看勾函数据,诶F为什么有这个是我在FS的那个GS里面添加了这个属性,但它是相当于是个方法是不好来找一下。所以找到它对应的。Can token。是不是这个。对吧,那也是我六函数传的是一个执行器的函数吧,而且它是不是立马会执行是吧。没问题吧?但是在执行之前,他做了一些事情,你来看一下,这个事情很重要,他丢了一个什么,他丢了一个promise,并且立即将那个函数给它什么存到外面来了。也就是说,外面是不是都有机会让这一个成功了,一般情况我们不会这么做。
04:01
对不对,一般是不是都是在这个内部调用的。那他这么一做,我外部是不是也可以让这个成功或者失败啊,当然失败没有,只有成功是不因为他失败的,回那个都没写。对吧,所以只能成功不能失败,你们也是只能成功不能失败啊好。来下面这个准备了一个啊啊,而且把它存到什么。是不是这意思啊,This是不是就叫this,是不是就我那个。啊,我刚才啊不配了一下吗。我这个配置不就是那个意思吗。这个是不是就这意思,将来我是不是通过这个子能找到那个能找到那个promise的,等下能不能找到。因为有这个配置就能找到对应的嘛,是吧,好有了这个promise了,下面看它,他说马上执行这个执行器。
05:03
这个执行器谁传的?是我传的还是内部太低呢?执行器谁定义,执行器谁定义,是外部定义是不跟一样吗?外部定义内部调用是不一调用就给你传那个什么。是不是给你传递函数。那我外部是不是收到了一个函数,我取名叫C,是不是当我是不是可以也可以取名叫C,当然现在取看看这个负值就不好付。那你抗等于行吗?小明。不行了吧,是不,所以说这里面取的是个什么C,但是如果我就想取啊CL,我能不能给它负值呢。那你怎么写呢?那你不能用light,你可以用了以后呢叫window点等于。
06:08
不知道啊,你要是用那个不就添加到window上面去了吗。那我window点看L不给他填指定属性的吗?那我右边写的L是不是还差,对各种办法都可以是不是。好来啊来,那也就是说我一六最后是不是就得到了一个函数。是不是函数它定义了吧,但是有谁在调Y不调。但是web开始掉吗?开始调用,开始是不把它存起来了,因为这个函数一调用就会干嘛取消请求。那其实我们就要看这个函数里面干什么事情,是不是。
07:00
是不是道理好,来看一下这个函数刚才什么事情?好,注意这个地方,它定义了一个变量,外部电流量,叫ton等于this,是不是它的实力?如果什么意思?他有reason啊,有reason说明已经取消过啊先你可以先不看这个都没关系,你看主要的再看这些细节判断的优化的东西可以吧,看重点的,你看他溜了一个什么。是不是利用了一个康的实例,这里面有一个不太好的东西,就是它既有康的函数。也有康类型的,实力容易,容易搞混。能懂吗?通过我们前面写这个L类型的实例,最后是不是成为了对象?是吧?也说我一个爱对象可能是个看守的实例吧,是看守L类型的实例,是这个看函数吗?不是看函数是我们调用将来用来取消请求的,对不对?
08:08
嗯,那他溜了一个L对象保存到哪去了?是不,这个代码向下执行,是不是用来取消请求去了。所以啊,他前面一旦判断这有reason,它有什么。Return说说明这个代码执行过了。是不是道理,所以说你看完下面再看上面的就懂了。是吧,代码并不是完全从上看到下的。能听懂不好,最后看它去调用什么,是不是调用这个。这个函数让这个promise成功。是不是,但是这个promise的点阵方法我在这里面没写。
09:00
在这整个文件里都没写。肯定写在某一个位置了,是不是。那个你说我们这段代码,那不就是通过它最终来去中断请求吗?或者取消请求嘛,对不对。那个中断请求和取消请求代码应该写在哪个位置?是不是应该写在这个所对应的那个成功的回调里面呢?因为我现在让他什么成功了,但是我成功的value是谁?是不是这个对象。是不是?有人说老师你CTRL不是I对象吗?对于取消请求来说,他的成功是什么意思?你想想我取消请求,我这个事情怎么代表成功,是不是我取消请求成功了,那我取消请求成功是不是要有一个canl对象?是不是好,我跟他说,结果这个promise的Z在哪执行的了,来看好啊,就在这个XHR对象上面。
10:03
在这个XHR对象里面,它有一个这个东西,我找到对应的位置啊。晚上翻一点。嗯。嗯,过头来搜索一下啊,来就在这。好了,他干嘛去,也就是我们在发请求前,他干那些事情啊,也就是说他是判断我的配置有没有,配置个我配了没有。我在配置里面有没有配这个属性。了,没有了,我不了是还把那个用于取消请求函。只是开始没有调用是不是好,接着你看。看这个点特是不是得到了特对项呢,接着了,诶是不是那个promise。一旦我调用函数,这个方是不是就成功了?
11:03
那开始掉了吗?没有可能我点那个某一个按钮是不是才掉。那一旦掉了看到,那你说取消请求代码应该写的这类目是不是,这是不是成功的回调,你看里面干什么,这些衣服都不用看,就看这个。干嘛?是不是中断请求?是不是?他前面的判断,为什么判断呢。变快的啊,有这个对象有我是不是采取了报他怎么那也就是说这个对象有说明请求还没有什么。完成,那请求完成这个值还有没有了。看到了吗?后面是不是有一个操作,把那个request,为什么,那也就只要是嗯请求结束了,他都会干一件事情,把那个request对象,为什么,那那你说如果这个对象还在呢。
12:02
如果还在了,说明什么呢?说明我请求还没完成,正在执行过程中,对不对?那他是不是就可以去。是不是中断急救?对,是对。接着干嘛?调价是不是将我发请求的promise变成什么状态?失败?失败的原因是什么?区啊,401是不是这个councill这个变量,我们看一下councill哪来的啊,注意council哪来的,Councill是不是我调用reserve的时候传过来的那个L对象,注意不是看函数是什么对象,刚才我不调用reserve时候传的是token.reason也就是这个。
13:00
他。是不是?有点小套路是吧。啊,这个套路还有点小复杂。答复了是吧,OK,好,来我这里面呢,用文本啊,用整个过程描述分为两个部分。你配置L投对象和是不是调用L取消请求是不?我们主要做两个事情,重点事情是不是这两个我们在做交函数是不取消去,而我们配置看本是不是会保存CR函数。那在配的时候它内部在做什么呢?是不是得要知道它内部在做什么吧?首先它是不是又创建了一个用于将啊将来取消请求的一个promise?
14:12
是不是这个是不是将来用于取消中断请求的。啊,这个都不是叫取消了,我叫他一个中断好吧,中断用英文单词叫about。还记得那个终端的代码写在哪个位置?是写的,是不是在他这个promise成功的毁掉里面写的。对不?这个promise用于中断请求吗?你想想看,你说他是要在失败的回调里面调,还是在成功的回调成功,因为我刚才是中断请求去。是不是?所以我是在成功的回调里面,是不是就中断优。嗯,好。
15:00
注意它是不是创建了这个对象了吧?同时它是不是还定义了一个用于取消请求的一个函数。是吧,因为取消请求函数而取消请求函数实际上是干嘛,是不是将这个状态改为什么。改为成功。只能是改为成功,我们刚才说的是成功才干中断的操作,对不对?传的是谁?传入的是哪个?你你想想看,你调用一键总得传一个东西吧,调用一宙啊,应该调用一宙,你传一个成功的Y吧,它成功value是谁。是token,是那个token所对应的,不是token是那个对象,应该说。而现在,看守对象暂时是一个成功的value,将来变成什么了?失败的reason。有个转换的过程。
16:02
对于这个来说。他是成功的。对吧,对于发请求的这个promise来说。他是一个什么失败的reason?原因就在于看这里面两点位置,注意观察。首先,我掉肉吧。是不是传的是那个conso对象,这说明它是一个什么?成功的value。对不对,现在在这边。I don reject。右上看手。这个对应的是发请求的promise,那他成为了什么失败的?是不是就变成对象了?当然这个L不是L类,类型是L型L对不对?
17:01
能不懂啊,当然你可能还不能完全联系起来,你当某个某个点在说的时候,你是要能听懂的,你说你自己让你自己说,你肯定现在说不出来。很正常。你要现在回缩一下,你说出来,那这个东西它也太简单了。好,注意还有一个事情,他是不是我在配置的时候,他是不是应该把L函数给传递出来了,我外部应该干嘛,是不是接收保存这个函数。是用于将来取消什么请求?那一旦我调用它,它干嘛呢。执行函数传入。啊,错误信息,那个错误的信息也要注意啊。我们执行看守的时候,是不是只是传了一个?一般传一个字符串就可以是不是,但是他内部肯定不是传递的message文本。应该传一个什么对象?
18:02
是不实对象,当然他先干嘛,内部先让我的promise为什么成功,而且成功的职谁?对象,而守L对象的里面的麦是谁?是三点。我不刚才缠着他吗?注意啊,你就说嘛,现在有两个看守,一个看守函数对吧,一个是看守L的实命对象。是两个东西。容易搞混啊,包括你开始学,如果没人说,那你基本上就蒙圈了。嗯,这个cancel函数执行的时候,我可以常用一个错误的message。能懂不啊,这个L函数内部在干嘛?首内部干嘛。这个事情主要就是把这个promise变成什么成功,成功是不是得一个成功的一个,这个是哪个对象,对象对象接收一个。那个message。
19:02
执行看守函数传入了什么message啊,简单的说,你想看啊,你在执行这个can守函数啊,你再去执行这个can守函数,你去执行啊,康守函数传入了一个假设传入一个A啊,注意啊,这个不能大写,是小写,容易搞混了,对吧,它内部是不是得去调用宇宙,是不降入宇宙,是不是得去利一个什么大写的的使命。是不是要接受一个message,那是多少呢A嘛。你如果是这个代码,这个代码是在这个函数内部执行的。内部能不能看到这个A。能不能一个函数内部的不能看到你传的时差吗?能啊,那肯定能啊,对吧,好。
20:05
来啊,继续往下看一看啊。来,注意。那失败的reason为谁啊?这里面刚才说的这个,看这下,接着我一旦这个对象变成了成功,那它需要调哪个函数?Pro米对象都成功了,它自然调用它的什么,成功的毁掉吧,成功的毁掉干嘛去?干嘛去?最终目标要实现,我要中断请求了,是不是?中断请求的同时呢?改变谁的状态?哪个?发请求的promise,一个是用来去取消请求的promise,对不对?只有你成功了,是不是就代表你取消了请求?而我现在取消请求成功以后,那我整个请求实际上变为成功还是失败,对失败。
21:06
对,取消请求的这个他的工作是取消请求。所以取消请求对他来说是成功。对不对?是他正常要干的事情么?而取消请求,如果请求被取消了,那我发请求的promise应该什么?是不是应该失败?而失败的时候,是不是要指定一个reason reason为谁呢?是不是看对象是不是康L对象本来是不是他的失败的一个原因。而现在变成了什么?我发请求的promise什么啊,不是,是他成功了一个value,是不是是他成功的一个value,而变成了发请求的promise什么?失败原因是不是有个转换,有两个promise,一个用来发请求的,对不对,一个用的什么取消请求的。
22:05
是不是我要取消请求去,是不是把我那个取消请求的方式变成失败。失败传的原因是谁?对象对吧,对象里面存了一个message对不对。那接着我一旦中断了请求,我得干嘛去?改变谁的状态请求发请求的状态。变为什么状态失败?那失败的原因是谁找对象?对,OK,就这样。啊,这个女生呢,这个我可以说这个流程是整个里面最难的。比我感觉比那个比这个难。比那个三个函数的流程呢,因为那三个函数其实很顺。
23:00
就是它掉完,它里面叫他,它里面叫他是吧,这很顺,但这个就是绕弯子绕的有点什么,它有点多。因为他存在两个promise,两个事情要做,是不是一个学要请求,一个在发请求,对吧,有两个promise,关键吧,还有两个,这是最让人闹心的事情。一个看对象,一个看函数。你提成不就整混了吗?这个大家需要去摆一下蓝点公报取消请求的这个操作呢,嗯,当然如果研究之后也是一个突破点,他十有八九十不太清楚。不是面试官啥不行,我告诉你啊,就是大当家去工作的时候你就知道公司里面的很多人,基本上就是他的业务能力很强。他解决问题能力、找问题能力比你强很多。
24:00
但他的理论的基础。一般都会比弱一些。嗯,而这些东西说实话是偏什么。偏理论性的东西,偏原性的东西,对不对,那这个时候。啊,咱的优势其实很大,优势就是咱的理论要比一般的工作人员好,你要理论在不好,那你的优势在哪了,是不是?当然好,你说老师我跟我班里面的同学比好像是吧,差了一些是不是?
我来说两句