00:00
Hello,大家好,这一个小节呢,我们来看一下另外一个关键词wa啊,那么wa呢,它右侧的表达式呢,一般为promise对象。啊,但呢也可以是其他类型的值,你比方说数字字符串啊,再比如说还有其他的这个布尔类型,其他类型值都可以。当然运算什么相关的也可以。很好,那么第二点的话是,如果这个右侧是一个promise对象的话。那么将返回的是这个promise对象它成功的那个值。啊,如果你右侧是一个promise对象的话,那返回的是这个promise对象成功的值。好,那如果说是其他值不是promise对象,那就直接将这个结果作为awa表达式的一个返回值。好了,这是它的一个相关的注意,相关的一些点啊,那下边的话有一个注意。
01:03
啊,来看这儿啊,第一个注意a wait这个关键字必须要写在I think函数当中。啊,但是呢,A think函数当中可以没有A。这就好比是单相思啊,单相思是吧,你呢,你特别喜欢他是吧?他呢,嗯,可以没有你是吧,可以不喜欢你,然后是这样一个情况,好,那么第二一点就是如果wa它右边的promise对象状态是失败的。啊,那么这个时候呢,整体就会抛出一个异常,我们可以通过try catch进行一个补货处理好了,那么下边的话,我们通过代码来给大家演示一下,首先我写一个wa是吧,右边呢,我写一个数字,这样写行不行呢?咱们先运行试一下。打开。那么你会发现报的是一个语法错误,说wait b呢,要放在I think函数当中啊,所以说咱们直接这样写是不行的,那现在怎么办呢?咱们写一个think function这样一个函数,当然函数名字你可以随便写。
02:06
啊,这个函数名字是可以随便写的啊,当然了,你这不写这个function形式,你说你写箭头函数可不可以啊,也行啊,写箭头函数也是可以的,好了,然后在里边。啊,我们来看一下右侧为的情况。I的情的情况好,然后呢,Let res等于一个wait,后边呢,咱们放一个promise对象,咱可以在上面先声明一个let p等于一个new的promise。Resolve reject。然后咱这写一个OK。好了,然后下边这个位置的话,咱们写一个wait p,你看它右侧的话就是一个promise类型的数据,如果说右侧是一个promise的话。则会返回这个promise对象成功的那个值。
03:02
也就是OK,咱们可以打印一下来验证一下是不是OK,好打开浏览器右键刷新可以看一下,没有问题,咱们先来看第二种情况啊,那么第二种情况就是如如果说我的右侧。啊为其他类型的数据,比方说let res2等于一个wait,咱放一个数字是吧,放一个20。再来看这个结果,这个结果的话就是右侧是什么,我就给你返回什么,来打开右键刷新20没有问题啊,这是第二种情况,不过这种情况很少见啊,右侧一般都是promise对象。好,那么下边的话还有第三种情况,就是如果promise是失败的一个状态。会怎么样啊,大家可以看一下啊,我把这个P呢,它的状态变成一个失败的,我们写一个error。然后在这啊,诶,我们来一个let res3等于一个weight p。
04:05
啊,那么这个时候你可以看一下右键刷新它呢,就会抛出一个错误。那抛出错误咱们怎么去解决呢?咱要通通过这个try catch,对它呢做一个捕获。嗯。放进来,然后代码呢,往前推一推。啊,然后在这儿的话,我们可以拿到它的一个失败的结果啊,在这儿可以拿失败结果,好点开右键刷新,可以看一下23行。点开23号拿到它失败的一个结果,这就是wait它的一个使用。啊,其实说白就是主要是对promise对象它成功的结果做一个获取,如果他对象失败的话,就通过try catch,在catch里边拿到它失败的结果。好了,那么这一小节关于wa的一个介绍,我们就先到这儿。
我来说两句