内容简介
《JavaScript异步编程:设计快速响应的网络应用》描述了基本的异步处理技巧,包括PubSub、事件模式、承诺等,通过这些技巧,我们可以更好地应对大规模Web应用的复杂性并交付快速响应的代码。了解Javascript的异步模式,可以让读者写出更合理的结构、性能更出色、更便于维护的Javascript程序。《JavaScript异步编程:设计快速响应的网络应用》适合JavaScript开发人员阅读。
目录
- 本书赞誉
- 献词
- 致谢
- 前言
- 第1章深入理解JavaScript事件
- 第2章分布式事件
- 第3章Promise对象和Deferred对象
- 第4章Async.js的工作流控制
- 第5章worker对象的多线程技术
- 第6章异步的脚本加载
- 附录JavaScript编辑工具
这书前半部分说的是js的事件异步,后半部分说的是解决异步不爽的地方。
js的最大特点是不阻塞,所以所有事件的执行都是不确定的。听上去是很糟糕的事情,但是这样可以保持cpu忙碌,从这个角度来提高系统的性能。
事件其实就是个消息机制,有利于解耦。事件的核心就是发布订阅,就是on和trigger,事件的执行手段就是回调。说白了,回调是事件的核心。
但是回调不好理解和控制。一般会抽象成订阅发布模式。
promise更是把异步回调当成一张对象。根据不同的异步结果执行相应的逻辑。让异步回调更清晰。
permission更容易处理异步的合并已经衔接执行。
异步,意味着结果不可控,无法保证先后执行。当然js里有不少库可以让js顺序执行。
async的series和parepare,以及队列都是保证顺序,而且尽量提高去做异步的事情,异步之心不死啊呵呵。
js的单线程无法利用多核,js就搞了个worker,这里是js的多线程,但是多进程会更合适。因为他们之间不共享东西。而且一切都是发消息给主线程去实现。
关于脚本的异步加载。有defer,async等标签属性。也有yepnope的条件加载,更有Require。js的依赖加载。这些感觉都只是小技巧了。
内容应该给4-5颗星的,很好的一本书,被翻译毁了。行文不够简洁产生很多干扰。二次创作的部分让人感觉莫名其妙,不当用语令人反感。
原书是好书,短短一百来页论述了异步编程的方方面面,语句精炼而不啰嗦,各种情景和用例都很有启发性;翻译其实也很流畅,但不少地方为了流畅没表达出原意,不结合原文几乎无法阅读……