正在準備工作環境...
分頁、錯誤處理與 Rate Limit
真實的 API 不會一次把所有資料倒給你。商品有上萬筆、訂單有數十萬筆——API 會「分頁」回傳,而且限制你每分鐘能打幾次。
分頁(Pagination)
Offset-based 分頁
最常見的分頁方式,用 page 和 limit 控制:
Cursor-based 分頁
大型平台偏好的方式,用 cursor 標記位置:
錯誤處理
API 不會永遠成功。學會看錯誤碼,才知道怎麼修:
Rate Limit(速率限制)
API 通常會限制你每分鐘或每小時能打幾次:
實務模式:自動重試
AI 協作:學了這個,跟 AI 怎麼配合?
分頁和錯誤處理邏輯很模板化,非常適合讓 AI 幫你寫。你只需要指定「要抓幾頁」和「錯誤時怎麼辦」。
你的人類優勢:
- 你知道需要抓多少資料(全部?還是只要最新 100 筆?)
- 你能決定錯誤時的策略(重試?跳過?通知?)
可以這樣跟 AI 說:
幫我寫一個自動分頁的函式,呼叫 GET /api/orders?page={n}&limit=50,自動翻頁直到沒有下一頁。遇到 429 就等 Retry-After 秒數後重試,最多重試 3 次。
練習題
互動示範
DEMO 1可以修改程式碼試玩
DEMO 2可以修改程式碼試玩
DEMO 3可以修改程式碼試玩
DEMO 4可以修改程式碼試玩
DEMO 5可以修改程式碼試玩
挑戰任務
Task 1
計算分頁資訊。總共 87 筆資料,每頁 20 筆,印出「總頁數: 5」。
Task 2
判斷 Rate Limit 狀態。剩餘 2 次(上限 100 次),印出「警告: 剩餘 2/100」。
起始程式碼: const remaining = 2; const limit = 100;
Task 3
根據 HTTP status 回傳對應處理方式。印出正確的處理方式。
起始程式碼: const status = 429; const actions = { 200: '處理資料', 401: '重新登入', 429: '等待重試', 500: '聯絡管理員' };
← BackNext Lesson →