00:00
来啊,把这个把这个写完整啊,我们都差不多了,来下面我们刚才发了请求,是不是也可以给认了,是不是没问题,但是我们用点任是不是要指定成功的回调,以及用开始指定失败回调啊,我想消灭回调函数应该用什么语法?啊,Think和什么,那下面啊,就有一个东西,什么东西呢。就是关于a think wait a think。这里面就有几个问题。作用是什么?这是第一个问题,第二个问题哪里啊啊写。Think吧,哪里小位还有问题,你觉得什么哪里think对吧,这能听到吧,好来因为前面用过,我们先用一下,再来总结这个问题啊来看一下啊看一下。
01:19
最终我们是不是不想要这个?点认吧,那当然得开解,不要。但是它默认给我返回的确实是不是就是一个promise,我要接收是不是去接收,定义一个promise来接收,如果你接受promise,那必然就下面点亮了,但我想要的是promise吗?不是,我是不是想让他异步给我返回的结果?最好是成功的结果,对吧?那也就是说我想要那个response吧,这意思吧,他一不给我的不就是response吗?能听懂不好,那你说这样就是瑞斯方式吗?
02:04
写response,你就是response啊,不是吧,还依然是promise,对不对,要想是response,你就在这个左边加上一个什么什么意思,等待等到什么时候,等到它成功给你返回了一个成功的数据,是不是,接着你是不是左边就有可以用一个变量或者常量来接收。听懂了吧?好用上它,它是不是报错呀。就说明我们说a wait所在的函数需要加一个什么a think,就a wait,一旦写成a wait,那必然要写什么think think是写在哪个位置的?写在我为所在函数定义的左侧。我的函,我说的函数是这一个吗?不是最近的那个函数,也就它呗,这是一个定义的一个进的函数吧,你用一般的函数,用方式定义的函数,用建函数量没关系。
03:11
反正是要放到什么函数D的左侧。这个能不能懂,那这样我是不是就可以打印response说请求成功了,对不对,请求成功代表登录成功吗。不代表现在我是不是可以打印v response,但是问题来了,失败怎么处理啊,失败了。你说异常了,出错了吗?哎了。刚才我们是不是用太巧的是不是,那如果用A位的时候,如何来处理异常的情况?用了吗?TRY一下嘛,Catch catch的谁I,咱在写promise原码的时候不都用过开启吗?一个意思吧,好,那也就是说把这一个放在里面是不是开启,那就说明我的这个请求是不是异常了,请求出错了吧?请求出错和请求登录失败是一码事吗?
04:26
不是啊。这个能懂吧,能懂啊,这是可以吧,可以。来,我们来看一下,看看我们现在可不可以啊。刷新一把啊,随便指一个走一把,现在啊,现在应该成功了吧,200嘛,对不对,看一下打印输出有没有。有吧,有即使我的这个数字这个错的它也有也是成功,对不对,请求成功,但只是说啊,哎,这个地方我们response点还没有取个东西是吗?是不是学了对的数据啊,不然后我看不出来我的些数据啊来看好了in。
05:19
清理一下啊,走理大家看,这就是我返回的数据吗?是是为零代表登录成功吗?好,我加一个数据。再请求代表什么?是不是登录失败,但请求是成功的吧?那我怎么样搞出一个请求,哦,出错了。写一个错误例子。是不是零四来看一下,随便写。哎,这个地方啊,这里面大家看到他得现在现在咱啊。
06:01
得到了一个什么呢?得到了一个,相当于大家看到这里面得到的是一个什么东西啊,是一个网页数据,看到了吧?啊是一个网页数据,我这个地方。它也标成了,主要是服务器给我返回了一个网页数据,我得我得这样啊,等一下我得把我的服务商代码改一改,我服务商做了一件事情。嗯,服务器里面写了一段代码,我把这个代码给注释一下。这是我后面用来解决问题写的代码,这去掉去掉了吧,好,去掉以后呢,这个时候服务器我们刚才是不是改了代码得干个什么事了,重启一下能听到不啊,重启一下好。来,再来一下啊。
07:00
啊,随便出一个叫他找你什么意思,请求什么出错了,因为这个是不是是零四的。这能不能看懂,能看懂啊好,那也就是说我们现在是不是用a think来去简化了那个promise的使用,能看到吧。可不可以,可以好了。那这个时候我们就可以去总结一些东西了。它的作用是什么?啊,用上,它是用来去简化谁的使用的promise对象的使用,这是一个笼统的说法。体现在哪了?你怎么个简化,你简化体现在哪啊?对不?啊,这个地方是不是消灭了那个点了,也就不用通过点不用再啊,下面就是具体的说明,怎么个简化法呢?对不对啊,不用在使用点阵来指定什么。
08:12
是不是成功或者失败的回调函数,这能听到不,那你说是不是消灭回调函数了?这是我们的一个终极目标吧,比如说我的程序是异步执行的,但是我的编码已经没有回调函数,是不是像看起来像一个同步编码的方式,就从上是么往下写,对不,但是程序啊,并不是完全那么执行的啊,好,这个地方还有一种说法。这个说的比较具体,下面说一个相对抽象一点的。以同步编码方式实现什么呢?异步流程,也就是说我们的程序真正执行是亦不执行的,但是我们写代码的时候看起来是个什么?
09:04
啊,同步变化方式,简单来说就是没有写回调函数了。你一旦看到回调函数,那就是异步编码方式。这能听到吧。各位啊,这是从比较具体说和笼统的去说啊,两个层面去说它的一个作用,那哪里用wait,我是先确定wait。再进来,那另外位置我是不是在某一个表达式的左边。哪个左边在返回promise的表达式什么左侧是不是写什么吧,那我这么写的目的是什么?为了干嘛?
10:00
这样写是不是我不想要promise,而是想要什么?想让他异步给我返回那个value数据吧?啊,不想要本来他们给我的promise么?我不想要promise,我想要什么呢?想要promise啊,异步执行的啊,成功的value数据是不是这意思?只是这个外数据,我们刚才取的名字是叫response。我们统一的称位是不是叫嗯。这有问题吗?没什么啊,OK,好那。那后面大家想我反回来观点,我是不是就可以用一个变量来接收啊,我你不去看了,刚才咱写过好下面哪里用think了,非常简单了,这是无比简单,最简单一个。位所在什么?
11:03
最近的啊,所在函数,但是要用最近的对不对。这能听懂吧,函数定义的什么左侧。能不能一个是在返回表达式的左侧吧。一个是不是函数定义的左侧。写什么?写think?那么看到。大家回来看一下我们刚才写的代码就OK了,大家看OA的在哪写的是我右边这四个表达式吧。右边这是个表达式,而这个表达式它返回的是什么?Promise,但我想要吗?我不想要,我想要的是什么?是他义务成功的那个结果,以及他的response,是不是他叫response?通用的名字是不是叫?
12:00
能不听懂,那我是不是可以接受了?好,一旦你写上以后,你工具是不是马上提示你报错了。是吧,那就要在我这个所在最近的那个函数定义的什么。左侧是在这个左边吗?不是函数定义是不是在这里。能不听懂?就这么简单。没问题吧,没问题啊,就是这个。当然这个还有优化的,还有优化的空间。限制。
我来说两句