异步模型的最高境界就是 同步
,或者说,代码的执行流程是异步的,而我们写代码是思维是同步的,Promise
是通往这条道路的一次探索。
var p = new Promise(function(r) {
setTimeout(function() {
r(1) // 返回,之后通过 p.then 获取
}, 1000)
})
// 在这个区域里面,就能写出同步代码,本来我们需要通过一次一次回调嵌套的东西,通过 Promise 的封装能够实现了同步执行
p.then(function(r) {
console.log(r) // 同步的等待 setTimeout 1000
console.log(2)
})
// 区域外的代码,依然是异步,不会阻塞了整个程序,照成卡死
console.log(0)
// 返回结果
0
1
2