Polling
輪詢
01你是不是遇到這個 / THE SYMPTOM
我有一個任務在後端跑(例如 AI 生圖、檔案轉檔),要等它跑完。我想讓前端「每隔幾秒自動問一次後端:好了沒?」直到完成才停,然後更新畫面。不知道這種「定時重複去問」的做法叫什麼。
↑ 如果你點頭了,你要的關鍵字就是 Polling。
02這是什麼 / DEFINITION
Polling(輪詢)是前端每隔一段固定時間(例如每 3 秒)主動向伺服器發一次請求,詢問「狀態有沒有變 / 任務完成了沒」,直到拿到想要的結果或達到上限才停止。
03什麼時候用 / WHEN TO USE
等待長時間後端任務(AI 生成、轉檔、報表產生)、查詢付款狀態、確認非同步流程進度——在沒有 WebSocket / SSE 即時推送、但又需要「持續追蹤狀態」時的簡單做法。
04怎麼跟 AI 說 / HOW TO ASK
直接複製這句、貼進 Claude Code / Cursor / Copilot / ChatGPT:
幫我寫一個 polling:建立任務後每 3 秒呼叫一次 status API 查進度,狀態變成 done 就停止並更新畫面,最多輪詢 60 次(3 分鐘)後逾時放棄。
05常見坑 / WATCH OUT
⚠ 輪詢一定要設「停止條件」和「次數上限」,否則任務卡住會無限打 API、把伺服器和額度燒光。記得在元件卸載時清掉計時器(clearInterval)避免記憶體洩漏。若需要伺服器「即時主動推」而不是前端一直問,那要的是 WebSocket 或 SSE,不是 polling。
06相關的詞 / RELATED