加上async&await, 都算是js异步处理的第三种解决方案了(除了回调,还有promise, 和生成器&yield)
async&await感觉比较靠谱, 使用起来比较符合思路, 语义又清楚.
就是兼容性奇差, 刚试了一圈 只有新升级的chrome53 开了flags的实验特性能用…
caniuse里都没有这个词条…
例子
async&await
|
|
就是在需要异步执行的函数最开始加async, 需要阻塞的子函数前加await
Generators要写function* 然后把await换成yield.
然后自己去调next(), 结构和语义都差一点
promise需要在asyncPrint里,多写一个then()123timeout().then((arg) => { //...});
我感觉写习惯了promise倒也没什么…
typescript
试了一下typescript可以认async&await
用的Promise&then生成的新代码