為了方便演示,我在右側(cè)打開了一個簡單的 JavaScript 頁面,并且打開了控制臺。我們在左側(cè)輸入的代碼,其運(yùn)行結(jié)果會直接顯示在右側(cè)。


Fetch API 基礎(chǔ)

什么是 Fetch API?

Fetch API 是瀏覽器內(nèi)置的一個強(qiáng)大工具,用于發(fā)起網(wǎng)絡(luò)請求并處理響應(yīng)。它支持多種 HTTP 方法(如 GET、POST、PUT、DELETE 等),并且基于 Promise,可以方便地進(jìn)行異步操作。

基本用法

我們先從一個簡單的 GET 請求開始。我們將調(diào)用一個假的 API,它會返回一些模擬數(shù)據(jù)。例如,我們可以獲取 API 中的所有用戶。

fetch('https://fakeapi.com/users')
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error('Error:', error));

輸出結(jié)果:我們可以在控制臺中看到返回的用戶數(shù)據(jù)。


獲取單個資源


接下來,我們嘗試獲取一個特定的用戶,比如用戶 ID 為 23。

fetch('https://fakeapi.com/users/23')
  .then(response => {
    if (!response.ok) {
      throw new Error('Network response was not ok ' + response.statusText);
    }
    return response.json();
  })
  .then(data => console.log(data))
  .catch(error => console.error('Error:', error));

輸出結(jié)果:如果用戶存在,我們將看到用戶數(shù)據(jù);如果用戶不存在,我們將看到錯誤信息。


發(fā)送數(shù)據(jù):POST 請求


Fetch API 不僅可以用于獲取數(shù)據(jù),還可以用于向服務(wù)器發(fā)送數(shù)據(jù)。例如,我們可以創(chuàng)建一個新用戶。

fetch('https://fakeapi.com/users', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({ name: 'User 1' })
})
.then(response => {
  if (!response.ok) {
    throw new Error('Network response was not ok');
  }
  return response.json();
})
.then(data => console.log(data))
.catch(error => console.error('Error:', error));

輸出結(jié)果:如果請求成功,我們將看到新創(chuàng)建的用戶數(shù)據(jù)。


錯誤處理


Fetch API 只有在網(wǎng)絡(luò)錯誤(如無法連接到服務(wù)器)時才會失敗。即使服務(wù)器返回了錯誤狀態(tài)碼(如 404 或 500),F(xiàn)etch API 仍然會認(rèn)為操作成功。因此,我們需要手動檢查響應(yīng)狀態(tài)。

fetch('https://fakeapi.com/users/23')
  .then(response => {
    if (!response.ok) {
      throw new Error('Network response was not ok');
    }
    return response.json();
  })
  .then(data => console.log(data))
  .catch(error => console.error('Error:', error));

輸出結(jié)果:如果用戶不存在,我們將看到錯誤信息。


總結(jié)


Fetch API 是一個非常強(qiáng)大的工具,可以幫助你輕松地與網(wǎng)絡(luò)資源進(jìn)行交互。它基于 Promise,支持異步操作,可以處理各種 HTTP 請求方法。在使用 Fetch API 時,需要注意以下幾點:

原文引自YouTube視頻:https://www.youtube.com/watch?v=cuEtnrL9-H0

上一篇:

使用NestJS和Prisma構(gòu)建REST API:身份驗證

下一篇:

REST API 基礎(chǔ):定義、示例及使用方法
#你可能也喜歡這些API文章!

我們有何不同?

API服務(wù)商零注冊

多API并行試用

數(shù)據(jù)驅(qū)動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力

25個渠道
一鍵對比試用API 限時免費

#AI深度推理大模型API

對比大模型API的邏輯推理準(zhǔn)確性、分析深度、可視化建議合理性

10個渠道
一鍵對比試用API 限時免費