2016-05-09 11 views
0

Webワーカーで作成した配列をメインスレッドに解析します。 配列には多数のTHREE.Meshオブジェクトが含まれています。 私はこの配列を文字列化しようとすると:複数のメッシュオブジェクトを持つ配列を渡す方法

self.postMessage(JSON.stringify(mesh)); 

エラーが発生します。 three.min.js:182キャッチされない例外TypeError:プロパティを読み取ることができません未定義の '971E7ACA-8223-4A5C-9F2F-E7966B58265F' を。

メッシュオブジェクトに関してこの問題をどうやって処理できますか?最近のブラウザで

答えて

0

は、あなたは、配列を文字列化を回避し、あなたのためにそれを処理するためにstructured clone algorithmに頼ることができます。

self.postMessage(mesh); 

See the example on MDN

+0

は、私はこの1つを試してみましたが、別のエラーがあります:**キャッチされないDataCloneError : 'DedicatedWorkerGlobalScope'で 'postMessage'を実行できませんでした:オブジェクトを複製できませんでした。** – Moehre

+0

あなたのオブジェクトに関数や他の無効なプロパティがありますか?参照してください:http://stackoverflow.com/questions/33035854/error-cloning-element-from-scope-while-using-angular-and-web-workers – nils

+0

私は実際にいくつかのデータを操作する1つの関数を持っています。 onmessage = function(e) var material = new THREE.MeshNormalMaterial({transparent:true、opacity:0.4}); var mesh = []; (新しいTHREE.Mesh(ジオメトリ、マテリアル));}関数_transformCoordinates(座標){ 座標を使用したいくつかの操作(var i = 0; i Moehre

関連する問題