JavaScript异步编程自定义Promise实现与应用
自定义 Promise 的实现方式,挺适合想搞懂异步底层逻辑的同学。用自己的方式手动造个 Promise,其实也没那么难,关键是能把resolve
、reject
这些东西整明白。你会发现多黑盒行为,一下子就清晰了。
像平时用fetch
或者axios
,看起来都是自动返回 Promise,但它们背后的机制,其实都绕不开状态的控制和回调队列的维护。
自己动手写的话,哪怕只支持then
和catch
,也挺有收获的。尤其是你遇到链式调用、异常穿透这些坑,自己 debug 一遍,印象比背概念强多了。
而且这种自定义 Promise,扩展起来也灵活。比如加个超时,或是加入finally
支持,写得顺点,自己项目里直接套都行。
你可以看看这篇Promise 原理解析,讲得比较透,配着自己的实现,对照理解更容易。
如果你是微信小程序用户,顺带推荐这篇网络求 Promise 化的文章,也蛮实用,适配得不错。
,想把异步玩明白,别光看async/await
,回头把 Promise 手搓一遍,绝对值得。
99.93KB
文件大小:
评论区