爲什麼需要異步編程
JavaScript 是單線程語言,網絡請求、文件讀寫等耗時操作必須異步執行,否則界面會卡死。
回調地獄的問題
多層嵌套回調代碼難以維護。
Promise 三態
- pending:進行中
- fulfilled:成功
- rejected:失敗
fetch('/api/user').then(res => res.json()).then(data => console.log(data)).catch(err => console.error(err));async/await 語法糖
ES2017 引入,讓異步代碼看起來像同步:
async function loadUser() {
try {
const res = await fetch('/api/user');
const data = await res.json();
} catch (err) { console.error(err); }
}並行執行
多個獨立請求用 Promise.all 並行。
常見陷阱
- 忘記 await 導致拿到 Promise 對象而非結果
- 循環中錯誤使用 await 導致串行執行
- 漏寫 try/catch 導致未捕獲異常
聲明:本站文章均來源於原創、轉載、AI生成等渠道,如有版權及其他問題,請點擊反饋,我公司會盡快查實並處理。
