You Don't Know JS Async&Performance
《You Don’t Know JS: Async & Performance》的异步编程讲得真挺透的,不光讲清楚了回调、Promise 这些常见的东西,还深入到了 Generator、性能调优 这块,对提升实际项目性能有。你要是经常写异步逻辑,或者对前端性能有点追求,这本书真的蛮值得一读。
异步的异步,也分层次。setTimeout
那种算最基础的,能跑,但不优雅。到了Promise
,语法清晰多了,再上个台阶就是async/await
,配合try/catch
,写异步像写同步。适合接口求多的业务场景,比如前后端分离的管理后台。
回调地狱这个词你肯定听过。嵌套太深的回调,维护起来超级头疼。书里就举了好几个例子,为什么Promise
和async/await
能让逻辑更直观。用.then()
链式写法,不但更清晰,出错时也好定位。
Generator 函数也是个亮点。它不像async
那样语法糖满天飞,但在异步流程控制时更灵活。你可以手动控制流程,也能配合co
这样的库,写出更“流”的代码。只不过用的人不多,适合对异步流程有进阶需求的开发者。
书里还花了不少篇幅讲性能优化。不是只讲理论,而是手把手教你用Chrome DevTools
查性能瓶颈,比如Timeline
怎么看,Recalculate Style
和Layout
耗时多大,为什么要减少重绘和回流这些。
有意思的是,作者对基准测试也挺讲究,不是“跑一下看看”,而是建议你自己写测试脚本,比较不同实现的性能差异,找到最适合你业务的方案。配合一些 WebAssembly
优化,还能上更高一层楼。
如果你最近在研究性能瓶颈,或者项目里异步逻辑越来越多,不妨抽点时间看看这本书。书不厚,讲得也不绕,实战性强,读完保准你写异步代码顺多了。
1.46MB
文件大小:
评论区