function p1(){
return new Promise(function(resolve,reject){
setTimeout(function(){
console.log("p1_3000");
resolve()
},3000)
})
}
function p2(){
return new Promise(function(resolve,reject){
setTimeout(function(){
console.log("p2_2000");
resolve()
},2000)
})
}
//await 只能出現在非同步函式裡
async function f(){
console.log("0000")
await p1();
await p2();
console.log("1010")
}
p3=f();
p3.then(function(){
console.log("結束")
})
console.log(1);
console.log(2);
setTimeout(function(){
console.log(3)
},3000);
console.log(4);
console.log(5)
上邊的列印結果大家想必都知道,這是同步狀態下的執行順序
//在看一個栗子
function p1(){
return new Promise(function(resolve,reject){
setTimeout(function(){
console.log("p1_3000");
resolve()
},3000)
})
}
function p2(){
return new Promise(function(resolve,reject){
setTimeout(function(){
console.log("p2_2000");
resolve()
},2000)
})
}
console.log("0000");
p1();
p2();
console.log("1010")
//跟大家預期的結果一樣,執行按照如下順序輸出
//0000
//1010
//p2_2000
//p1_3000
我們們想做的是讓他按這個順序執行下來我們們就要用到