
4.JavaScript之Promise的底层原理
文章平均质量分 91
Promise是编写代码中程勇的一个异步解决方案, 虽然在开发中我们经常使用他, 但是知道其内部原理能够让我们更清楚一个异步任务是如何被包装的
狄鸠
写给5年后的自己
展开
-
Promise(1) - Promise/A+的使用
Promise的使用1.promise是啥抽象理解promise是JS中进行异步编程的新的解决方案,代替以往的旧的方案(纯回调)具体理解Promise是一个构造函数是用来封装异步操作,并来获取结果的一个函数2.promise状态pedding => resolvedpedding => rejectedPromise 的状态只有这三种,pedding是开始,resolve是成功,reject是失败无论成功与否,都会有一个结果数据成功的数据成为原创 2020-06-02 20:31:42 · 207 阅读 · 0 评论 -
Promise(2) - Promise/A+的API
2.Promise的方法Promise构造函数,用来创建promise对象语法new Promise( function(resolve, reject) {...} /* executor函数 */ );// 传入promise的是执行器函数,他是同步回调函数参数excutorexecutor是带有 resolve 和 reject 两个参数的同步回调函数函数Promise构造函数执行时立即调用executor 函数resolve 和 reject 函数被调用时,分别将pro原创 2020-06-02 20:33:43 · 133 阅读 · 0 评论 -
Promise(3) - 手写Promise/A+的实现
6.手写Promise整体架构Es5的写法~(function (window) { const PENDING = 'pending' const RESOLVED = 'resolved' const REJECTED = 'rejected' function Promise(executor) { this.state = PENDING this.data = null this.callbacks = [] function resol原创 2020-06-02 20:37:16 · 490 阅读 · 0 评论 -
JavaScript单线程异步机制
浏览器打开会开辟多条线程来支撑浏览器的工作,但是分配给JS进行DOM操作的的线程永远只有一条,所以JS是单线程编程语言,那么JS是怎么进行异步操作代码的呢?首先来看下面的一段代码输出的结果! 我们把定时器的时间设置成了0,代表只要运行了这段代码就立即进行里边函数的运行,然而并没有,而是先把主线程上的 console.log('5') 执行之后才挨个运行定时器在JS中,所有任务可以分...原创 2020-04-28 23:53:40 · 210 阅读 · 0 评论 -
异步之 async 与 await
asyncreturn 的返回值为 PromisePromise对象的结果由async函数执行的返回值决定语法// 定义async函数async function name([参数1, 参数2...]) { 函数体 }描述使用async定义函数,函数内部可以使用await关键字,并且该异步函数会返回一个Promise状态为 resolved => return普通值 | 成功的Promise状态为 rejected => 函数内部错误 | 失败的Prom原创 2020-06-02 20:41:43 · 249 阅读 · 0 评论