ZeroOne 繁體中文技術部落格
搜尋結果被舊請求覆蓋?用 AbortController 與序號處理 fetch 競態
2026-10-04
搜尋框即使加了 debounce,較慢的舊請求仍可能覆蓋新結果。本文用 AbortController 減少無用請求,以序號保護成功、錯誤與 loading 狀態,提供可重現的逆序回應測試,並說明清空輸入、元件卸載及非同步轉換的處理界線。
1118 字
|
6 分鐘
structuredClone 深拷貝怎麼選:DataCloneError、class 與 transfer 限制
2026-10-04
structuredClone 能複製巢狀資料、Date、Map 與循環參照,但函式會觸發 DataCloneError,自訂 class 也不會保留原型方法。本文提供可執行的型別檢查,說明何時用淺拷貝、明確轉換或 transfer,避免複製後才發現資料語意改變。
1048 字
|
5 分鐘
Cloudflare Clef 怎麼用?Jev 決策流程的模型切換與驗收
2026-10-03
Cloudflare Clef 與 Clef-flash 透過 Workers AI 提供結構化決策。本文說明與 Jev 相容的範圍、binding 呼叫、輸出檢查與人工覆核門檻,並用相同資料比較模型,避免把 API 相容或官方速度數字當成可以直接上線的證明。
1602 字
|
8 分鐘
Promise.allSettled 怎麼用?多個 API 部分失敗時保留成功結果
2026-10-03
儀表板同時載入多個 API 時,一個失敗不必讓整頁空白。本文用 Promise.allSettled 保留各項結果,加入名稱對應、同步拋錯處理與 fetch timeout,並以 Node.js 測試確認輸出順序,說明它不會自動取消或限制並行數。
1226 字
|
6 分鐘
ResizeObserver loop 錯誤怎麼修?先找尺寸回授,不要只隱藏訊息
2026-10-03
ResizeObserver loop completed with undelivered notifications 可能來自尺寸回授。本文說明 callback 改尺寸造成的回授、requestAnimationFrame 的限制、固定目標尺寸與 disconnect 清理方法,提供範例與瀏覽器驗收步驟。
1510 字
|
8 分鐘
SvelteKit 3 升級指南:設定檔、#lib 與登入流程怎麼驗收
2026-10-03
SvelteKit 3 將設定移進 Vite,並以 #lib 取代 $lib。本文整理升級前的版本檢查、自動遷移後的差異審查,以及 cookie、表單與部署驗收順序,協助既有專案分段升級,避免只通過 build 就認為遷移完成。
1509 字
|
8 分鐘
Pi 1.0 支援 MCP 與 Codemode:試用前先分清工具權限
2026-10-02
Pi 1.0 把 MCP 與 Codemode 納入核心,但 JavaScript sandbox 不等於外部工具隔離或逐次核准。本文整理 npm 安裝門檻、模型登入、MCP 檢查與權限驗收流程,協助判斷適合直接試用、放進容器,或另建確認機制的情境。
1128 字
|
6 分鐘
Tower 18 Beta 的 gittower:把 AI 修改交回圖形介面審查
2026-10-02
AI 改完程式後,可用 Tower 18 Beta 的 gittower 開啟 Working Copy、指定 commit 或檔案歷史。本文整理 CLI 版本與路徑檢查、安裝連結修復,以及從終端機交回人工 diff 審查的流程,避免把開啟畫面誤當成提交授權。
900 字
|
5 分鐘