await阻塞功能,将异步变成同步执行。

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();

ღ( ´・ᴗ・` )❤完。

发布了270 篇原创文章 · 获赞 50 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/Miss_liangrm/article/details/103331058