你不知道的Promise状态变化机制

简介: 你不知道的Promise状态变化机制

1.Promise中PromiseStatus的三种状态


var p = new Promise((resolve, reject) => {
        // resolve 既是函数也是参数,它用于处理成功的; 在异步任务成功的时候,去调用resolve
        // reject 既是函数也是参数,它用于处理失败的; 在异步任务失败的时候,去调用reject
})
console.log(p)


1425695-20210414225433740-1997657634.png


Promise 的实例对象中有一个属性;叫做 PromiseStatus


它有 3 个属性;分别是


1 pending 未决定


2 resolved 成功


3 rejected 失败


2 .Promise 状态的改变,有两种


2 Promise 状态的改变;有两种


pending==>变为 resolved 成功


pending==>变为 rejected 失败


只有上述这两种状态,它不可能变为其他的状态;


它不可能由 resolved 变为 rejected


而且 Promise 状态只能够改变一次,比如说由 pending==>变为 resolved 成功后,就不可能在发生变化了;

相关文章
|
1月前
|
JavaScript 数据处理
当数据发生变化时,`watch`函数是如何被触发的?
当数据发生变化时,`watch`函数是如何被触发的?
32 3
|
8月前
|
前端开发 Go
15 # promise 延迟对象的作用
15 # promise 延迟对象的作用
41 0
|
8月前
|
前端开发
10 # promise2 状态的处理
10 # promise2 状态的处理
32 0
|
1月前
在Vuex中,如何处理不同模块之间的状态同步?
在Vuex中,如何处理不同模块之间的状态同步?
24 1
|
8月前
|
前端开发
13 # promise 的状态更改问题
13 # promise 的状态更改问题
43 0
|
1月前
|
传感器 人工智能 算法
掌握C++中的状态-事件回调矩阵:打造强大的有限状态机
掌握C++中的状态-事件回调矩阵:打造强大的有限状态机
54 0
|
10月前
|
Java 调度
线程包括哪些状态,状态之间是如何变化的
线程包括哪些状态,状态之间是如何变化的
60 0
|
10月前
Vue3新增的两个生命周期分析解释【onRenderTracked()状态跟踪和onRenderTriggered() 状态触发】
Vue3新增的两个生命周期分析解释【onRenderTracked()状态跟踪和onRenderTriggered() 状态触发】
|
移动开发 前端开发 API
如何更好的取消一个promise?
一个正在执行中的promise怎样被取消? 其实就像一个执行中的ajax要被取消一样,ajax有abort()进行取消,而且fetch api 也有了相关的规范-【AbortController】。
636 0
如何更好的取消一个promise?
|
JavaScript
浅谈同步、异步、回调函数之间的关系?
同步:发出一个调用时,在没有得到结果之前,该调用就不返回;一旦调用返回,就得到返回值。换句话说,就是由调用者主动等待这个调用的结果。
438 0