await等待的是Promise的 resolve和reject(axios能用實際上axios封裝的是Promise)
function sleep(second) {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve('sleep~');
}, second);
})
}
function normalFunc() {
setTimeout(()=>{
console.log('normalFunc');
},3000)
}
async function awaitDemo() {
await normalFunc();
let result = await sleep(2000);
console.log(result);// 兩秒之后會被打印出來
console.log('something, ~~');
}
awaitDemo();
// sleep~
// something, ~~
// normalFunc
//因為async中的await只等待Promise的 resolve和reject串结,所以normalFunc沒有被等待患膛,而sleep被等待了