await阻塞功能,將異步變成同步執行。
下面先看一道題理解下:
async function getData2(){
console.log(2);
return '這個是個async數據'
}
async function test2(){
console.log(1);
var d = await getData2();
console.log(d);
console.log(3);
}
test2();
執行結果:
使用await直接獲取Promise返回的值:
通常我們是這樣取的:
function getData(){
return new Promise((resolve,reject)=>{
setTimeout(()=>{
var name = 'lemon';
resolve(name)
},1000)
})
}
getData().then((data)=>{
console.log(data);
})
使用await獲取Promise的返回值,我們可以這樣取:
function getData(){
return new Promise((resolve,reject)=>{
setTimeout(()=>{
var name = 'lemon';
resolve(name)
},1000)
})
}
async function test(){
var p = await getData();
console.log(p);
}
test();
ღ( ´・ᴗ・` )❤完。