这篇文章作为之前两篇文章的延续,来的稍微有点迟。
* 如何优雅地写js异步代码
* 如何优雅地写js异步代码(2)
时隔一年,以上两篇文章内容或有过时,请读者自行斟酌。好下面正式开始本文内容。
循环的方式
假设我们有个数组,包含 5 个数字:let times = [100, 150, 200, 250, 300];
还有一个异步的睡觉方法:sleep(time, cb)。
import Promise from 'bluebird';
// 当没有 cb 时,返回一个 Promise 对象…
Rock with async/await
本篇文章是作为上一篇的续集,考虑到第一篇的篇幅,还有更重要的一点就是上一篇讲的内容已经可以直接应用在最新版本的Node.js和一些高级浏览器(Chrome,FF)中,具体兼容性可参考:https://kangax.github.io/compat-table/es6/。
而这一篇讲的内容,是ECMAScript 2016(ES7)的async/await特性,目前的兼容性可参考:http://kangax.github.io/compat-table/esnext/#test-async_functions,虽然现在来看还不是非常乐观,但是我们可以通过第三方的代码转换工具(…