00:00
好,那接着呢,我们来看a think和awa这个语法堂,那所谓的a think和awa这个语法糖到底是什么呢?在语言层面上,A think和wait属于异步编程的一种标准,那这个标准是怎么回事呢?其实也是非常简单的,还是回到我们的代码当中,那前面呢,我们已经是封装过一个promise了,那我们已经封装好了,那a think of it呢,是在promise封装的基础上,在调用时呢做了一个改变,那此时呢,我们可以把这个代码呢,再一次的去做一个复制,然后呢,我们去改一下它的名字,这里呢,我们就起一个名字叫做index下花仙think,好,那么有了这个名字之后,我们来看一下它是如何去使用的,那之前呢,我们通过点击点。
01:01
笨的啊,这样的一个调用这样的一个方法来去发送一个请求,那此时呢,我们就可以使用这个a thinkk的语法,那要使用它呢,我们就得在前面的这种函数的级别上呢,给它加一个a think,然后在使用或者是调用时呢,你就可以使用这个A,那A后面怎么用呢?你之前是如何调用my as去发送那个异步请求的,那现在呢,就在avi的后面继续去这样写就可以了,比如呢,我们可以使用这个my objects,然后后面呢,还是一样的,把我们之前写的这些地址呢也给它拿过来,叭如呢,我就把这个呢给它拿过来,好,我们就直接把这个代码呢放到这里就可以了,那这个呢,其实就是向我们这个8001这个端口呢,发送一个异步的请求,那呃,Wait的含义呢,其实也很明确,那就是等,等什么呢?等你这个异步处理结束之后,那我再去做下一步的操作。
02:01
那下一步的操作是什么呢?其实就是返回了异步调用的结果,那结果我们怎么去接收呢?这里我们直接使用一个变量去接收就可以了,比如这里呢,我们就给它起个名字叫第一就可以,那接着呢,我们在后面使用consoular log的方式去打印这个第一,就可以看到最终执行的结果了,那一样呢,我们打开浏览器来去做一个测试,找到检查,找到我们的Co里,我们再去点击,那这个老师祝你早日富可敌国,我们也就看到了。那如果说还是回到我们最开始的业务,那我现在呢,依然是做一个这样的需求,当你去发送这个请求结束之后呢,我再去发送下一个请求,那如果是有这样的业务需求呢,其实和我们写日常的这个从上往下执行的代码呢,没有任何的区别,你就一步一步的往下写就可以了,比如这里呢,我们还是这个宋词,那这里呢,我们就给它来一个第二好,下面呢,我们就给它打印这个第二好,我们保存一下,OK,再回到浏览器。
03:01
当中呢,我们刷新一下,然后继续点击,依然就能够看到这个结果,但这里呢,请注意一下,就是我们通过V后面的这个代码呢,它一定是异步的,但它的好处就在于什么呢?这个异步在执行的过程中,你这个赋值的代码以及后面的代码呢,都是不执行的,也就是一个等待的过程,那这就是我们这个a think of it一个最基本的使用方式,那使用呢,确实是非常简单的,那很多人呢,也不会探究其使用的这个原理,那无非呢也就是两个单词啊,加到前面用就好了,那虽然会用啊,日唱发起来呢,也看上去是没有什么太大问题的,但是呢,这有一个隐患,就是一旦你遇到bug就基本会凉凉,尤其在面试的时候呢,也总会去问到这个所谓的a think of it这个语法汤到底是怎么回事,那很多人呢是答不上来的,那比如呢,我这里就准备了这样的一道面试题也给大家呢。
04:01
去看一眼那面试题的代码呢,我贴到这里了,来,我们去读一下这个代码,这个代码呢,你会发现啊,就是有一个set out,那很显然它也是一个异步的,但奇怪的是呢,这里是一个啊零啊,就是零毫秒之后呢就执行,那这就和我们之前所讲解的关于异步的整个执行流程是相关的,那如果你把之前我讲过的这个内容呢,能够很好的理解的话呢,其实你也能够知道我们当前的这个set out,也就是打印的这个set这个字串什么时候去执行,那么再往下呢,其实就是一个a think function,那后面来了一个A,调用了这个a think2,当然这些呢,都是在调用之前属于普通函数啊,那也没有会啊,没有会去执行这个异步的相关内容,那直到我们看到下面的这句话就是log时呢,你会发现这里有一个script star,那它的这个结果呢,其实是首先打印出来的,这个就不用说了,那么再往下呢,就是这个a think1。
05:01
其实这个函数呢,就开始去执行了,那最大的问题在于什么呢?在于你在调用这个a a think2的时候,实际上你要去搞清楚是这个a think2,还有我们那个赛out,他们到底谁先执行,以及a think1啊,这三个内容啊,最让我们搞不清楚的呢,其实就是在这一个方向上,那只要是THINK1执行完了,那我们这个是是这end呢,其实也就打印出来了,那它是不是最后打印的呢?啊,其实还真不一定好,那么你可以先暂停视频几分钟,把这个代码呢自己敲一敲,先看一下结果,那为什么我现在不再继续去分析,然后也不会继续告诉你答案呢?是因为想要搞清楚这个问题,我们必须要先去理解a think of it到底是怎么回事,那想要理解a think of it呢,就要回到a think of的最开始的地方,就是我们所说的a think of it是。
06:01
是语法堂,那所谓的语法堂呢,实际上就是某一个语法规则的简易用法,那它到底是谁的语法堂?那其实呢,我们就需要回到它最本质的地方,那它是什么呢?哎,这就是我们最开始在目录中给大家介绍的是gen的一步方案,那可能很多人都没有接触过genator,所以在这里呢,我们就需要先去了解一下关于整的一个最基本的用法,那回顾一下整函数到底应该是怎么去使用的,好那么接下来呢,我们就来去看一看整瑞ta的一步方案。
我来说两句