JavaScript异步编程自定义Promise实现与应用

自定义 Promise 的实现方式,挺适合想搞懂异步底层逻辑的同学。用自己的方式手动造个 Promise,其实也没那么难,关键是能把resolvereject这些东西整明白。你会发现多黑盒行为,一下子就清晰了。

像平时用fetch或者axios,看起来都是自动返回 Promise,但它们背后的机制,其实都绕不开状态的控制和回调队列的维护。

自己动手写的话,哪怕只支持thencatch,也挺有收获的。尤其是你遇到链式调用、异常穿透这些坑,自己 debug 一遍,印象比背概念强多了。

而且这种自定义 Promise,扩展起来也灵活。比如加个超时,或是加入finally支持,写得顺点,自己项目里直接套都行。

你可以看看这篇Promise 原理解析,讲得比较透,配着自己的实现,对照理解更容易。

如果你是微信小程序用户,顺带推荐这篇网络求 Promise 化的文章,也蛮实用,适配得不错。

,想把异步玩明白,别光看async/await,回头把 Promise 手搓一遍,绝对值得。

pdf 文件大小:99.93KB