HTTP 錯誤處理
訂閱 onSseError 來處理 bot provider 回傳的 HTTP 錯誤。搭配
@asgard-js/core 的 isHttpError 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
| 屬性 | 型別 | 說明 |
|---|---|---|
status | number | HTTP 狀態碼(如 401、403、429、500) |
statusText | string | 狀態文字 |
body | unknown | 回應 body |
isHttpError(error) 是 type guard,確認 error 是 HttpError 後才安全存取上述屬性。
常見錯誤碼
| 狀態碼 | 場景 |
|---|---|
401 | API key 無效或過期 |
403 | 無權限存取此 bot provider |
429 | 請求頻率超過限制 |
500 | Bot provider 內部錯誤 |