【完结】手写 Promise 源码
文章平均质量分 86
本专栏对 Promise 全部核心知识点进行拆解,每篇文章聚焦一个知识点;针对 Promise 核心实现与实际开发应用,剖析 Promise 的实现原理,并根据 Promise A+ 规范手写 Promise 源码;
BraveWangDev
11年开发经验、全栈工程师;2023年更新计划已确定,希望能与大家共同进步;
展开
-
【手写 Promise 源码】目录 - Promise 知识点梳理
本篇,对 Promise 相关知识点进行梳理和拆分;作为Promise 专栏目录,随文章更新会持续完善,欢迎大家留言讨论和补充;原创 2023-01-25 23:12:32 · 809 阅读 · 0 评论 -
【手写 Promise 源码】第十八篇 - EventLoop 简介
本篇,主要介绍了 EventLoop 的执行原理,主要涉及以下几个点:1,EventLoop 简介;2,宏任务和微任务;3,EventLoop 循环机制原创 2023-02-03 08:46:38 · 234 阅读 · 0 评论 -
【手写 Promise 源码】第十七篇 - async/await 简介
本篇,主要介绍了 async/await 的使用和实现原理,主要涉及以下几个点:1,async/await 的使用和功能分析;2,async/await 的实现和原理分析;原创 2023-02-03 08:45:12 · 216 阅读 · 0 评论 -
【手写 Promise 源码】第十六篇 - 了解 co 库
本篇,主要介绍了 co 库的使用和实现原理,主要涉及以下几个点:1,co 库的简介:特性、用法、功能分析;2,co 库的实现和原理分析;原创 2023-02-02 19:24:54 · 783 阅读 · 0 评论 -
【手写 Promise 源码】第十五篇 - 了解 generator 生成器
本篇,主要介绍了 generator 生成器函数的使用和实现原理,主要涉及以下几个点:1,generator 简介:特性、用法、功能分析;2,generator 实现原理分析;原创 2023-02-02 19:23:13 · 267 阅读 · 0 评论 -
【手写 Promise 源码】第十四篇 - 实现工具方法 promisify
本篇,实现一个 promisify 工具函数,主要涉及以下几个点:1,promisify 简介和测试;2,promisify 功能的实现:promisify、promisifyAll;原创 2023-02-01 16:13:33 · 311 阅读 · 0 评论 -
【手写 Promise 源码】第十三篇 - Promise.allsettled 和 Promise.any 的实现
本篇,主要实现 Promise 静态 API:`Promise.allSettled` 和 `Promise.any`,主要涉及以下几个点:1,测试原生 Promise.allsettled 的使用;2,Promise.allsettled 原理分析、源码实现、功能测试;3,Promise.any 原理分析、源码实现、功能测试;原创 2023-02-01 16:11:15 · 818 阅读 · 0 评论 -
【手写 Promise 源码】第十二篇 - Promise.race 的实现
本篇,主要实现了 Promise 静态 API(类方法):`Promise.race`,主要涉及以下几个点:1,测试原生 Promise.race 的使用;2,Promise.race 的功能与特性分析;3,Promise.race 的源码实现、执行分析、功能测试;原创 2023-01-31 09:04:32 · 660 阅读 · 0 评论 -
【手写 Promise 源码】第十一篇 - Promise.all 的实现
本篇,主要实现 Promise 的核心静态 API(类方法):Promise.all,主要涉及以下几个点:1,测试原生 Promise.all 的使用;2,Promise.all 的功能与特性分析;3,Promise.all 的源码实现、执行分析、功能测试;原创 2023-01-31 09:02:32 · 1316 阅读 · 0 评论 -
【手写 Promise 源码】第十篇 - Promise.prototype.catch 和 Promise.prototype.finally 的实现
本篇,主要实现了 Promise 两个实例 API(原型方法):Promise.prototype.catch 和Promise.prototype.finally,主要涉及以下几个点:1,Promise.prototype.catch 功能测试、原理分析、源码实现;2,Promise.prototype.finally 功能测试、原理分析、源码实现;原创 2023-01-30 09:02:11 · 383 阅读 · 0 评论 -
【手写 Promise 源码】第九篇 - Promise.resolve 和 Promise.reject 的实现
本篇,主要实现了 Promise 的两个静态 API(类方法):Promise.resolve 和 Promise.reject:1,Promise.resolve 创建并返回一个成功的 promise; 2,Promise.reject 创建并返回一个失败的 promise;3,Promise.resolve 会等待异步操作完成`Promise.reject` 失败会直接返回;原创 2023-01-30 09:00:09 · 472 阅读 · 0 评论 -
【手写 Promise 源码】第八篇 - 完善 Promise 并通过 promise-aplus-tests 测试
本篇,主要对 Promise 源码进行完善并通过 promise-aplus-tests 测试,主要涉及以下几个点:1,完善 Promise 源码:支持两种嵌套 promise 的情况;2,分析 Promise 的执行过程;3,创建延迟对象并通过 promise-aplus-tests 测试;原创 2023-01-29 13:27:03 · 1008 阅读 · 0 评论 -
【手写 Promise 源码】第七篇 - 实现 Promise 返回值 x 的处理
本篇,主要实现了 Promise 对返回值 x 的处理,主要涉及到以下几个点:1,回顾了 Promise A+ 规范中的相关内容;2,根据 Promise A+ 规范实现 resolvePromise 方法;3,实现了对 then 中方法的返回值 x 为 promsie 类型的处理;原创 2023-01-29 13:24:38 · 444 阅读 · 0 评论 -
【手写 Promise 源码】第六篇 - 实现 Promise 的链式调用
本篇,主要实现了 Promise 的链式调用功能,主要涉及以下几个点:1,介绍了 Promise 链式调用,返回普通值和抛出异常的5种情况;2,分析了当前 Promise 源码的问题及解决方案;3,Promise 链式调用的实现、功能测试、执行过程分析;原创 2023-01-28 12:41:57 · 1002 阅读 · 0 评论 -
【手写 Promise 源码】第五篇 - 实现 Promise 对异步操作的支持
本篇,主要实现了 Promise 对异步操作的支持,主要涉及以下几个点:1,测试 Promise 对异步操作的支持;2,分析当前 Promise 代码问题及解决方案;3,使用发布订阅思想实现对异步操作的支持;4,Promise 异步操作的测试;原创 2023-01-28 09:03:57 · 1071 阅读 · 0 评论 -
【手写 Promise 源码】第四篇 - 翻译并理解 Promise A+ 规范
本篇,翻译并理解了整个 Promise A+ 规范;接下来,将基于 Promise A+ 规范,继续对简版 Promise 代码功能进行完善;原创 2023-01-27 10:00:24 · 642 阅读 · 0 评论 -
【手写 Promise 源码】第三篇 - 实现一个简版 Promise
本篇,根据对 Promise 的分析和了解,实现了一个简版 Promise,主要涉及以下内容:1,Promise 的实现思路;2,Promise A+ 规范(简版);3,Promise 简版实现和功能测试;原创 2023-01-27 09:58:01 · 766 阅读 · 0 评论 -
【手写 Promise 源码】第二篇 - Promise 功能介绍与特性分析
## 五,结尾本篇,主要通过示例对 Promise 进行了相关功能的介绍与特性分析,主要涉及以下几个点:1,Promise 的基础特性;2,Promise 实例 API(原型方法)的介绍和使用;3,Promise 静态 API(类方法)的介绍和使用;原创 2023-01-26 11:53:35 · 1149 阅读 · 2 评论 -
【手写 Promise 源码】第一篇 - Promise 简介
本篇,对 Promise 进行了简单介绍,主要涉及以下几个点:1,Promise 简介和基本使用;2,Promise 和 callback 对比;3,Promise 的重要性和作用;4,Promise 使用场景:Promisify 封装;5,Promise 的优缺点、兼容性;原创 2023-01-26 11:51:02 · 858 阅读 · 0 评论