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();
ღ( ´・ᴗ・` )❤完。