<script>
window.onload = function () {
var txt = document.getElementById('answer');
var promise1 = function () {
return new Promise(function (resolve, reject) {
setTimeout(function () {
// txt.innerText = "异步操作1"
console.log('异步操作1')
resolve();
}, 3000);
})
}
var promise2 = function () {
return new Promise(function (resolve, reject) {
setTimeout(function () {
// txt.innerText = "异步操作2"
console.log('异步操作2')
resolve();
}, 2000);
})
}
var promise3 = function () {
return new Promise(function (resolve, reject) {
setTimeout(function () {
// txt.innerText = "异步操作1"
console.log('异步操作3')
resolve();
}, 1000);
})
}
promise1().then(function(){
return promise2()
}).then(function(){
return promise3()
})
console.log('这步最先执行')
}
</script>
核心点即:当前Promise
执行完毕,调用resolve
或者reject
方法后,立刻return
下一步的Promise
对象,然后.then
的this
即为接下来的Promise
实例。