0ad7f0fba5f7b14d2d66898c328d235df9ab8af7
後端 Redis key 過期時會先回空陣列、背景 fetcher 約 30-60 秒 填回資料。過去前端只要拿到空 items 就直接顯示紅色錯誤框, 使用者第一次開頁面撞上這個暫態會誤以為服務壞了。 這次把「空資料」視為暫態而非錯誤:顯示中性的 loading banner 並每 8 秒自動重試,最多 10 次(總 80 秒)。拿到資料立即停止 polling 並渲染;超過上限仍空則改顯示中性的稍後重試提示, 不再使用紅色錯誤框。真正的 network / HTTP / JSON 錯誤維持 原本的紅框行為。 新增:showStatus / clearStatus / scheduleRetry / clearRetry、 retryCount / retryTimer 狀態變數、renderItems 抽出 marker 渲染、 loadScan 包裝整個 fetch 流程,beforeunload 清 timer 防 leak。 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Description
Leaflet map showing Pokémon GO spots in Taiwan
Languages
HTML
97%
Shell
3%