我的碎碎念,以前吧,觉得前端这玩意儿很复杂,有好多东西要学。后来学了一段时间之后发现不过如此,就是用html+css写写页面,然后为了使页面有动态的数据,就加了ajax和js。
然后不知道为什么前端越来越复杂。nodejs的出现之后,很多工具的出现,webpack、browserify…现在我用的是webpack。
之前觉得,天啊,这是要命啊,本来js就基础不扎实,又要整这些东西,然后后来发现,其实这些工具只是为了让你的工作更简单,如果你觉得它是一个负担,那一定是没有学会怎么用。
就比如说,我想用es6的语法写js,如果你用传统的script标签引入,就会很麻烦,需要用加载什么bower,如果你用工具化的,在自己的电脑上编译一下,你的es6化的js就可以被浏览器识别了。更别说那些脚手架,真的是好用得没话说。npm vue-cli react-cli….就自动为你建好了工程目录。
呃,好像聊偏题了。
现在回到正题,最近在看《javacript异步编程》,里面讲了如何用事件异步,node端的异步,jquery的promise对象等等(node也有promise对象)。
然后又看到了worker。
众所周知,javascript和java不一样,没有多线程这个概念,cpu一个时间只能做同一件事情。而我们做的只能是异步,就是尽可能的让cpu利用率大,就是当cpu需要等待一个io耗时长的事件的时候,这个事件就暂停,先让别的事件先走。
异步事件处理其实就很能理解:
在一条高速公路上