这书前半部分说的是js的事件 异步,后半部分说的是解决异步不爽的地方。
js的最大特点是不阻塞,所以所有事件的执行都是不确定的。听上去是很糟糕的事情,但是这样可以保持cpu忙碌,从这个角度来提高系统的性能。
事件其实就是个消息机制,有利于解耦。事件的核心就是发布订阅,就是on 和 trigger,事件的执行手段就是回调。说白了,回调是事件的核心。
但是回调不好理解和控制。一般会抽象成订阅发布模式。
promise更是把异步回调当成一张对象。根据不同的异步结果执行相应的逻辑。让异步回调更清晰。
permission更容易处理异步的合并已经衔接执行。
异步,意味着结果不可控,无法保证先后执行。当然js里有不少库可以让js顺序执行。
async的series和parepare,以及队列都是保证顺序,而且尽量提高去做异步的事情,异步之心不死啊 呵呵。
js的单线程无法利用多核,js就搞了个worker,这里是js的多线程,但是多进程会更合适。因为他们之间不共享东西。而且一切都是发消息给主线程去实现。
关于脚本的异步加载。有defer,async等标签属性。也有yepnope的条件加载,更有Require。js的依赖加载。这些感觉都只是小技巧了。