跳至主要内容

HTTP 錯誤處理

訂閱 onSseError 來處理 bot provider 回傳的 HTTP 錯誤。搭配 @asgard-js/coreisHttpError helper,可以安全地檢查 status code。

HTTP 429 用量限制

點擊下方按鈕模擬 onSseError 收到 HTTP 429 錯誤。handler 會呼叫 isHttpError() 判斷錯誤類型,然後顯示 toast 通知。下方的程式碼展示實際的接線方式。

程式範例

import { isHttpError } from "@asgard-js/core";

<Chatbot
onSseError={(error) => {
if (isHttpError(error) && error.status === 429) {
toast.warning("用量已達上限,請稍後再試");
}
}}
{...rest}
/>;

HttpError

屬性型別說明
statusnumberHTTP 狀態碼(如 401、403、429、500)
statusTextstring狀態文字
bodyunknown回應 body

isHttpError(error) 是 type guard,確認 error 是 HttpError 後才安全存取上述屬性。

常見錯誤碼

狀態碼場景
401API key 無效或過期
403無權限存取此 bot provider
429請求頻率超過限制
500Bot provider 內部錯誤