DongYuanxin's Blog

Node.js 异步文件编程

问题描述 Q:使用异步接口,实现递归遍历查找指定文件 异步的优势: 相较于同步接口,异步不阻塞主线程,速度更快。 相较于await,也更快。尤其是只有一个任务在执行的时候,await虽是异步,但是同一个任务中,是按照指令顺序执行的。 设计解决思路 *异步的处理技巧是使用一个变量 asyncOps,标记当前正在进行的异步操作数量。**每次异步开始前,+1;结束后,-...

让我们再聊聊Promise的实现

摘要 关于 Promise 的实现网上已经有很多文章,最推荐的是这篇《史上最易读懂的 Promise/A+ 完全实现》。但其中then实现的部分代码中有些小问题。 在上述文章的基础上,本篇给出更全面的用例和代码,来尽可能阐述清楚一些看起来 “magic” 的做法。 所有代码(Promise 以及相关方法)的实现存放在 github.com/dongyuanxin/diy-promise...

一文说清 ReactJS VirtualDOM 的含义与实现

摘要 随着 React 的兴起,Virtual DOM 的原理和实现也开始出现在各大厂面试和社区的文章中。其实这种做法早在 d3.js 中就有实现,是 react 生态的快速建立让它正式进入了广大开发者的视角。 在正式开始前,抛出几个问题来引导思路,这些问题也会在不同的小节中,逐步解决: 🤔️ 怎么理解 VDom? 🤔️ 如何表示 VDom? 🤔️ 如何比较 VDom 树...