iT邦幫忙

2026 iThome 鐵人賽

0

前幾天已經成功串接 AI,也加入了載入提示。

不過,實際使用 API 時,不一定每次都能順利取得資料。可能是網路不穩定、API 金鑰設定錯誤,或 AI 服務暫時無法使用。

所以今天要加入錯誤處理。

一、為什麼需要錯誤處理?

如果沒有錯誤處理,當 API 請求失敗時,使用者可能只看到空白畫面,完全不知道發生什麼事情。

因此,我希望網站能在發生問題時,顯示容易理解的訊息。

二、修改 JavaScript

將推薦函式調整為:

async function recommendRecipe(ingredients) {
    loading.hidden = false;
    recipeResult.replaceChildren();

    try {
        const answer = await getAIRecipe(
            ingredients.join("、")
        );

        recipeResult.textContent = answer;

    } catch (error) {
        recipeResult.textContent =
            "目前無法取得食譜,請稍後再試一次。";

        console.error(error);

    } finally {
        loading.hidden = true;
    }
}

這裡使用:

  • try:執行可能發生錯誤的程式。
  • catch:發生錯誤時執行對應處理。
  • finally:不論成功或失敗都會執行。

三、今天的成果

今天完成基本的錯誤處理,讓網站在 API 無法正常回應時,也能提供使用者明確的提示。

未來還可以針對不同錯誤狀況,設計更詳細的訊息。

接下來要開始加入更多使用者可以選擇的條件,讓推薦結果更符合個人需求!


上一篇
Loading! AI思考時不要讓使用者乾等
下一篇
料理類型 選擇功能
系列文
AI Recipe — AI 智慧食譜推薦系統 共 30 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言