ES 流程控制演进历程
published
Callback / EventEmitter 时代
开发者们靠着 Callback、基于 Callback / EventEmitter 的流程控制库和奇技淫巧,实现着各种需求。
前 Promises 时代
Promises 的出现早于 Generator,但当时却并没有 Generator 流行。
Generator 时代
Generator 是 ES2015 引入的特性,本身用于计算。
当时,TJ 发现 Generator 可以用于流程控制,于是写了 co。之后,基于 Generator 的流程控制就流行起来了。
值得一提的是,靠 Generator 起家的 co,现在已经支持 Promises 了。
后 Promises 时代
Promises 作为新特性被 ES2015 引入。由于 ES 规范的影响力,Promises 才算真正被大家熟知。
Async Function 时代
Async Function 配合着 Promises,终于让 ES 的流程控制到了一个可以让人的接受的时代。
流程控制的推荐做法
截至 2017 年 3 月 11 日,个人推荐使用 Async Function + Promises。