温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
Hello,大家好,这一个小节呢,我们开始来学习一下I think和awa,咱们先来看一看I think。I think呢,用来是标志这个函数啊,形成think函数。它呢也是一个函数,不过它跟我们之前的一些函数呢不太一样,它的返回结果是一个promise对象。而且呢,这个promise对象呢,它的结果呢,是由a think函数的返回值来决定的。啊,听起来是不是有点耳熟呢?我们来给大家通过代码演示一下。首先啊。我们在这来一个asy nc发个是也是有函数名,我这写一个命。下边呢,我来命来调用一下它,并且呢,接收一下这个结果,Let result。然后打印一下这个结果。咱说了啊,这个think函数它的返回结果呢,是一个promise对象,先看一眼。
01:00
点开它。刷新页面,你看它的结果是一个promise对象。那这个promise就像它的状态啊,你看它是fulfilled,它是由谁来决定呢?它是由这个函数内部的return啊,就是这个返回值来决定的。如果说它的返回值。返回值啊是一个。飞。Promise。类型的数据。比如说你return一个数字是吧,五二、一,或者return一个字符串,Return一个布尔类型的none onDeFi等等等等,只要它不是promise类型的对象,那这个结果就是一个成功的promise对象。而且你return后边写什么,它成功的结果值就是什么。啊,这是第一个规则啊,这个规律,那么第二个的话,如果是啊,就是返回的是一个promise的对象。
02:02
那这个时候的话,你return这个结果就决定了main函数返回结果的一个状态,比方说我这return一个new promise。然后呢,我写一个resolve,咱们写一个OK。这块return后边是一个成功的promise对象,那所以说main函数的整体返回结果这块它的状态就是一个成功的对象。好,点开它右键看一下。点开是一个成功的状态,好,那如果说你是失败呢,Reject。如果是失败的话啊,它也是失败的啊,就是main函数的返回结果,这个对象状态也是失败的。来看一下。点开状态为失败,而且你失败的结果就是他这个对象失败的结果。好了,那这是第二种情况,下边还有一种情况就是如果说我要是抛出。抛出异常。
03:01
啊,抛出异常。入一个比方说咱们写写一个这个oh no是吧,来个字符串。保存,如果你抛出异常的话,这返回的结果,这个状态呢,就是一个失败的promise对象。啊,而且呢,你抛出的结果就是他失败的promise对象,他失败的结果。来看一下右键刷新,然后点开状态失败啊,结果就是你抛出那个值。好,这是当前呢关于a think函数,它返回结果的一个特点,那么你会发现呢,它和Z方法。就是咱们Z方法回调当中,它的返回结果,对于Z的返回结果,那个规则是一模一样的啊,是一模一样的,好了,那么这个小节关于I think函数的一个介绍,我们就先到这。
我来说两句