P4178 Tree 題解
阿新 • • 發佈:2022-05-19
什麼是async/await
async/await是ES8引入的新語法,用來簡化Promise非同步操作。在async/await出現之前,開發者只能通過鏈式.then()的方式處理Promise非同步操作。
.then鏈式呼叫的優點:
解決了回撥地獄的問題;
.then鏈式呼叫的缺點:
程式碼冗餘、閱讀性差、不易理解
async/await的基本使用
使用async/await簡化Promise非同步操作:
import thenFs from 'then-fs' // 按照順序讀取檔案1,2,3的內容 async function getAllFile() { const r1 = await thenFs.readFile('../text/1.txt', 'utf8'); console.log('r1:', r1); const r2 = await thenFs.readFile('../text/2.txt', 'utf8'); console.log('r2:', r2); const r3 = await thenFs.readFile('../text/3.txt', 'utf8'); console.log('r3:', r3); } getAllFile()
不需要.then就可以直接拿到最終的結果:
async/await 的使用注意事項:
- 如果function中使用了await,則function必須被async修飾;
- 在async方法中,第一個await之前的程式碼會同步執行,await之後的程式碼會非同步執行