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