[英]javascript web worker posting message
我正在對我的腳本進行大量處理,因此為了不阻止 UI 並避免瀏覽器處理上限(Chrome 上為 12.5),我嘗試了網絡工作者
問題是對象太大並且包含數組,因此發布消息不會通過拋出“無法在'Worker'上執行'postMessage':無法克隆對象”來傳輸它
所以我考慮將它字符串化,對象沒有完全傳輸,因為它包含數組,而數組字符串化為“[]”
所以我考慮將數組轉換為字符串/對象,以便能夠將它們傳輸然后再傳輸回來,但是由於對象很大,我的堆棧內存不足(即使使用第三方插件)
那么在這種情況下有什么我想念的東西會有所幫助嗎?
如果您執行以下操作,您是否正確地重新創建了對象?
在您的主線程上:
var worker = new Worker('myworkerfile.js')
worker.postMessage(JSON.stringify(myclusters))
在工作線程上:
onmessage = function(e) {
var myclusters = JSON.parse(e.data);
console.log(myclusters)
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.