JavaScript 通常在作業系統的 Main Thread 執行,但若把程式碼放在 Web Workers 就可另闢戰場-Worker Thread,兩條線互不影響,讓 JavaScript 在背景執行,並且兩線可由訊息溝通-使用 postMessage 發送訊息、onmessage 接收訊息。
通常我們會將需要長時間運算且不含 Window 或 DOM Element 操作的程式碼放在 Web Workers,好處是不阻塞 Main Thread 而讓速度變快。
使用 web API 來實作
用起來跟用 web API 很像,只是多封裝成方法
封裝成更好用的方法,也是三種裡最簡化的寫法,也有狀態可以使用, worker terminate 之後也不會有 worker1、worker2 的問題 (無法再次使用) 官方的例子看起來跟 comlink 差不多
這邊使用 postMessage、onmessage 來傳遞資料 也許之後可以用 comlink 寫寫看,看鐵人賽 感覺可以更方便,只是看起來只能搭配 Web Workers API
VSCode + Volar (and disable Vetur) + TypeScript Vue Plugin (Volar).
See Vite Configuration Reference.
npm install
npm run dev
npm run build
Lint with ESLint
npm run lint