一:Fetch API
XMLHttpRequest 本質上但並不是一個設計優良的 API: + 不符合關注分離(Separation of Concerns)的原則 + 配置和呼叫方式非常混亂 + 使用事件機制來跟蹤狀態變化 + 基於事件的非同步模型沒有現代的 Promise,generator/yield,async/await 友好
- Fetch 請求預設是不帶 cookie,需要設定 fetch(url, {credentials: 'include'})`
- 伺服器返回 400,500 錯誤碼時並不會 reject,只有網路錯誤這些導致請求不能完成時,fetch 才會被 reject