Promise 实际上还不是完美的,有那么一点回调的影子, ES7 的 async await,又在 Promise 对象的基础上封装了一层,这个异步的解决方案目前也是大多编程语言的最新实现,几乎接近终极,python 也是支持的 - python async await 。
// 这个区域里面的代码,实现了真正的 “同步”
;(async function f() {
console.log(1)
// 等待一秒执行 | 以后的每个 “回调” 都是一个 “await”
r = await new Promise(function (res) {
setTimeout(function () {
res(3)
}, 1000)
})
// 同步继续
console.log(r)
console.log(4)
})()
// 区域外依然是异步的
console.log(2)
// 1
// 2
// 3
// 4
JavaScript 数据类型
JavaScript 数字
JavaScript 字符串
JavaScript 数组
JavaScript 对象
JavaScript Map
JavaScript Set
JavaScript null
JavaScript undefined
JavaScript 类型检测
JavaScript 包装对象
JavaScript 函数
JavaScript 参数
JavaScript 匿名函数
JavaScript 箭头函数
JavaScript 递归
JavaScript 闭包
JavaScript 生成器
JavaScript 异步
JavaScript setTimeout
JavaScript setInterval
JavaScript 回调
JavaScript Promise
JavaScript async await