標準代碼:
(function() {
console.log(1);
window.setTimeout(() => {
console.log(2);
}, 100);
new Promise((resolve) => {
console.log(3);
resolve();
})
.then(() => {
console.log(4);
});
console.log(5);
})();
// 輸出結果:
// - 1
// - 3
// - 5
// - 4
// - 2
在promise對象前添入 await 後:
(async function() {
console.log(1);
window.setTimeout(() => {
console.log(2);
}, 100);
await new Promise((resolve) => {
console.log(3);
resolve();
})
.then(() => {
console.log(4);
});
console.log(5);
})();
// 輸出結果:
// - 1
// - 3
// - 4
// - 5
// - 2