你可能不了解的 Promise 微任务类型

2022-05-27
阅读 4 分钟
3k
先来看一道示例题。按照以往的理解,我以为输出顺序是 2 1 3 4。然后通过调试发现 promise1 在初始化后状态依然是 pending,感觉自己在理解 Promise 微任务方面还是存在不足。研究了下 ECMA 规范,终于把这个问题搞清楚了。
封面图

这篇手写 Promise 你一定要康康

2022-04-11
阅读 10 分钟
2.5k
最近重温了一下 Q/Promise 的设计讲解,结合自己的理解和一些小优化,决定也来写一篇手写 Promise 的文章。本文的内容适合对 Promise 的使用有一定了解的童鞋,因为过程中不会过多解释 Promise 的基础操作。我们从一个基础版本开始,渐进式地完成这个 Promise,在过程中分享我的理解和观点。内容可能有点长,废话不多说...

带你撸一个实用的 hook 模块

2019-09-12
阅读 4 分钟
3k
本质上来说 hook 模式类似与责任链模式,hook 建立了特定事件与事件处理程序之间的一对多关系,当事件需要处理时,沿着事件处理程序链条挨个执行。但不同的设计可能会有不同的处理行为,在本文中,链条靠前的处理程序有权决定是否需要交给下个处理程序接着处理还是直接返回最终结果。