Promise異步執(zhí)行 async/await

function getPromise(fileName) {
    let p = new Promise((resolve, reject) => {
        setTimeout(()=> {
            resolve(fileName);
        },1000)
    });
    return p;
};

//2.解決需求: 要先讀a, 讀完a后讀b, 讀完b后讀c.

// async和await異步函數(shù) :  這兩個關鍵字只能用于函數(shù), 所以用的時候一定要放在函數(shù)里面用

/*
async關鍵字:  修飾函數(shù)。  表示這個函數(shù)內部有異步操作。
await關鍵字:  等待異步執(zhí)行完畢。
    (1)await只能用于被async修飾的函數(shù)中。
        只有當await后面的異步操作執(zhí)行完畢后,才會繼續(xù)執(zhí)行后面代碼
    (2)await 后面 只能是promise對象
*/

const readFile = async () => {
    let data1 = await getPromise('a')
    console.log(data1)
    console.log(55)
    let data2 = await getPromise('b')
    console.log(data2)
    //async異步函數(shù)的錯誤信息要用try-catch來捕捉
    try {
        let data3 = await getPromise('c')
        console.log(data3)
    } catch (err) {
        console.log(err)
    }
}
readFile()

輸出結果為:

a
55
b
c
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容