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被等待了