温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
哈喽,大家好,这个小节呢,我们开始来介绍一下promise当中的几个关键问题。这是我们进行promise封装前的一个非常重要的准备知识。如果没有这个东西做支撑,在写代码的时候我们很可能会实现的不完整或者不完善。好,这个小节我们来介绍一下。第一个问题就是在代码当中应该如何去改变promise对象的一个状态。好,那么首先我们先来写一个promise对象。好,我已经声明了一个promise对象的状态,那么这个时候呢,它的状态呢?起始化状态,初始化状态是一个pending。那我应该怎么样去改变它的状态呢?这里有三种方式,第一种方式是通过调用resolve函数。
01:01
调用完函数之后呢,可以将promise对象的状态呢,由pending。然后呢,转化为。这个,然后field。啊,当然这个单词也可以用这个resolved,其实意思是一样的,都表示成功。这是第一种方式,我们可以来看一看。好,打开浏览器。你可以看一下此时状态为成功没有问题,那么下边的话咱们来说一下第二种情况。第二种情况呢,是调这个reject函数。这个咱们用的比较多了啊。好拿过来它的,它的作用是可以将promise这样的状态呢,由pending。转化为rejected,也就是失败。好,点开浏览器,咱们再来看一下。你可以看一下状态就变为了失败。除了这两种方式之外呢,还有没有别的方式可以修改promise这样的状态呢?有,那就是抛出错误。
02:07
我们可以使用throw关键字,然后去抛出一个错误,比方说哎,出问题了。我就抛一个字符串,当然了,你也可以抛一个error的一个实例对象都可以。OK,点开它刷新页面,你注意观察下边这个错误,不要管它,这里主要是因为我们没有指定失败回调而导致的。点开它。你看这里它的状态呢,是一个失败的啊,由此可证,这个语句也是可以改变promise对象状态的。好了,那么改变对象的状态的方式就这三个,第一个resolve,第二一个reject,第三个入。好了,这个问题我们就先到这儿。
我来说两句