什麼是Web workers?為什麼我們需要他
A、Web workers的定義:Web Workers為WEB前端網頁上的指令碼,提供了一種能在後臺程式中執行的方法。
一旦它被建立,Web Workers就可以通過postMessage()向任務池傳送任務請求,
執行完之後再通過postMessage()返回訊息給建立者指定的事件處理程式(通過onmessage進行捕獲)。
Web Workers程式能夠在不影響使用者介面的情況下處理任務,並且,它還可以使用XMLHttpRequest來處理I/O
,無論responseXML和channel屬性是否為null。
B、使用Web workers的原因:通過使用Web Worker, 我們可以在瀏覽器後臺執行Javascript, 而不佔用瀏覽器自身執行緒(Web work實現多執行緒)。Web Worker可以提高應用的總體效能,並且提升使用者體驗。
<span style="color:#cc33cc">Web Worker主執行緒</span>
1.通過 worker = new Worker( url ) 載入一個JS檔案來建立一個worker,同時返回一個worker例項。
2.通過worker.postMessage( data ) 方法來向worker傳送資料。
3.繫結worker.onmessage方法來接收worker傳送過來的資料。
4.可以使用 worker.terminate() 來終止一個worker的執行。
相關文章
- 什麼是 Web Workers?Web
- Elasticsearch:是什麼?你為什麼需要他?Elasticsearch
- GC是什麼?為什麼我們要去使用它GC
- [譯] 為什麼我們需要 Web 3.0Web
- Service Mesh是什麼,為我們解決了什麼問題?
- 什麼是 BPMN ?為什麼我們要用 BPMN 和工作流 ?
- 為什麼要有 Servlet ,什麼是 Servlet 容器,什麼是 Web 容器?ServletWeb
- 因果迷境:為什麼我們會問“為什麼”?
- 為什麼我們需要 VuexVue
- 我們為什麼要用RedisRedis
- 我們為什麼而工作
- 我們為什麼需要CDP?
- 面試官問我:什麼是訊息佇列?什麼場景需要他?用了會出現什麼問題?面試佇列
- 我們的口號是什麼?
- 我們為什麼需要async/await ?AI
- 到底為什麼我們需要 Clickhouse?
- 我們為什麼需要雲原生?
- Web3.0是什麼,為什麼MetaVerse這麼火?WebMetaverse
- 我認為 web3 是什麼(大白話 web3)Web
- DevOps是什麼?DevOps能夠給我們帶來什麼?dev
- 我們為什麼要用英文寫文件?
- 我們為什麼需要 lock 檔案
- 為什麼springcloud值得我們學習?SpringGCCloud
- 為什麼我們不使用GraphQL? - Wundergraph
- 為什麼我們要新增 super(props) ?
- 我們為什麼要學豐田?
- web assembly是什麼,能幹什麼Web
- 《後來的我們》,為什麼我們會錯過彼此?
- 為什麼我認為就算人工智慧可以全面替代人類我們也無需擔心人工智慧
- 為什麼我們無法避免複雜?
- GitHub:我們為什麼會棄用jQuery?GithubjQuery
- 我們為什麼需要API管理系統?API
- [譯]我們為什麼要寫 super(props)?
- 為什麼我們做分散式使用Redis?分散式Redis
- 為什麼我們需要訊息佇列?佇列
- 我們為什麼很難堅持下去
- 為什麼我們需要volatile關鍵字?
- 我們為什麼要技術寫作