1 . 初始态pending
pending。它的意思是 "待定的,将发生的",相当于是一个初始状态。创建Promise对象时,且没有调用resolve或者是reject方法,相当于是初始状态。这个初始状态会随着你调用resolve,或者是reject函数而切换到另一种状态。
这个初始状态可以理解为你对别人说出承诺的那个瞬间,此时,大家都不知道这个承诺是否能兑现。
2 . 成功态resolved--
也叫fulfilled
resolved。表示解决了,就是说这个承诺实现了。 要实现从pending到resolved的转变,需要在 创建Promise对象时,在函数体中调用了resolve方法(即第一个参数)。
上面的resolve和reject仅是形参名而已。
3 . 失败态rejected
rejected。拒绝,失败。表示这个承诺没有做到,失败了。要实现从pending到rejected的转换,只需要在创建Promise对象时,调用reject函数。
三种状态小结
1 . 状态是可转化
最初创建promise对象时,默认状态是pending,如果在函数体内部调用了第一个参数对应的函数,则状态变成了resolved;如果调用了第二个参数对应的函数,则状态变成了rejected。
pending ----- resolve() --> resolved;
pending ----- reject() --> rejected;
2 . 状态转换是不可逆的
一旦从pending ---> resolved(或者是rejected),就不可能再回到pending,也不能由resolved变成rejected。