js Promise
2021/7/28 6:06:00
本文主要是介绍js Promise,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
好久没有写js了,最近需要做一个前端项目,复习了以下,分享个人的见解,仅供参考
Promise
Promise是es6提供的特性,JS本身是单线程的,js引擎线程,称为主线程,但浏览器也提供了多个线程完成异步操作。
首先看一个简单的示例
let p1 = new Promise((resolve,reject)=>{ //do some thing setTimeout(()=>{resolve()},1000) })
Promise用以对异步的操作进行管理,异步任务成功,我们便调用resolve【解决】,否则我们调用reject,即告知操作失败。
promise就是一个状态机,有三个状态:
1、初始状态 pending
2、操作成功 fulfilled
3、操作失败 rejected
状态变化后,调用对应的回调函数
在浏览器的控制台输入以上创建Promise的代码,并且让浏览器打印p1
>p1 Promise {<fulfilled>: undefined} [[Prototype]]: Promise catch: ƒ catch() constructor: ƒ Promise() finally: ƒ finally() then: ƒ then()
可见。p1 是Promise对象,其一被创建后便开始运行,状态已经是fulfilled,因为setTimeout过后,调用了resolve,继而调用then方法,处理操作成功之后的逻辑,否则调用catch函数
最后附上个人理解的状态转移图
这篇关于js Promise的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-18tcpdf可以等待vue动态页面加载完成后再生成pdf吗?-icode9专业技术文章分享
- 2024-11-16Vue3资料:新手入门必读教程
- 2024-11-16Vue3资料:新手入门全面指南
- 2024-11-16Vue资料:新手入门完全指南
- 2024-11-16Vue项目实战:新手入门指南
- 2024-11-16React Hooks之useEffect案例详解
- 2024-11-16useRef案例详解:React中的useRef使用教程
- 2024-11-16React Hooks之useState案例详解
- 2024-11-16Vue入门指南:从零开始搭建第一个Vue项目
- 2024-11-16Vue3学习:新手入门教程与实践指南