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