iT邦幫忙

2023 iThome 鐵人賽

DAY 11
0

async 和 await 是 JavaScript 中用於處理異步操作的關鍵字。它們是為了讓異步程式碼的撰寫和讀取更加直觀和易於理解。

async 用於聲明一個函數是異步函數,它內部可以包含 await 關鍵字來等待一個 Promise 物件的狀態變為Fulfilled。當函式內部使用 await 等待一個 Promise 時,它會暫停函式的執行,直到該 Promise 的狀態變為fulfilled或reject。在等待期間,JavaScript 可以繼續執行其他任務。

下面是一個簡單的範例:

async function fetchProduct() {
  const fetchPromise = await fetch("https://mdn.github.io/learning-area/javascript/apis/fetching-data/can-store/products.json"
  );
  const data = await fetchPromise.json(); //把等待完的資料存到data裡
  console.log(data);
}
fetchProduct();

在這個例子中,fetchProduct 函數被聲明為異步函數,並使用 await 等待 fetch 函數返回的 Promise 物件解析。然後,使用 await 等待 response.json() 的 Promise 解析,將回應轉換為 JSON 格式的資料。最後,將資料print出來
我們也可以加try 跟 catch來處理錯誤:

async function fetchProduct() {
  try {
    const fetchPromise = await fetch(
      "https://mdn.github.io/learning-area/javascript/apis/fetching-data/can-store/products.json"
    );
    const data = await fetchPromise.json();
    console.log(data);
  } catch (error) {
    console.log(error);
  }
}

使用 async 和 await 可以讓異步程式碼看起來更像是同步的程式碼,讓開發者可以使用更簡潔和直觀的語法來處理異步操作。


上一篇
day10- Promise 物件
下一篇
day12 - Node.js 的 export跟import
系列文
一起進入網頁後端的世界吧 Restful Api 啟動 !30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言