---
# System prepended metadata

title: Fetch
tags: [JS]

---

###### tags: `JS`
# Fetch
[MDN](https://developer.mozilla.org/zh-TW/docs/Web/JavaScript/Reference/Global_Objects/Promise)
ES6 新增的 HTTP 請求方法，基於 Promise 所設計，他讓接口更簡單、簡潔、同時也避免了回調的複雜性。使用　Fetch　時，當回應是 404 該 Promise 依然會被 resolve，只有在該請求沒辦法被完成時（例如，無網路連線），才會被 reject 進而進到 catch，因此，需要自己判斷 response.ok，如果不 ok 則透過 throw 讓它進入 catch。

用途: 取代原生 XMLHttpRequest
使用時機: 串接 API 時
好處: 串接 API 時回傳為非同步而 Fetch API 回傳自帶 Promise 

![https://developer.mozilla.org/zh-TW/docs/Web/API/Fetch_API/Using_Fetch](https://i.imgur.com/IHR49JQ.png)
> [ 鏈接式寫法，.then()到下一個.then()使用return ]



