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

ღ( ´・ᴗ・` )❤完。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章