Web工作者postMessage()
在发送对象时的好处是它将整个对象序列化,包括作为对象的对象的所有元素。所有作为指向另一个对象的指针的数据都会遇到并重建,所有数据都指向正确的东西。
问题是......确保它只能带来我需要的东西。我正在拉动一个链接的对象列表的子集,其中对象中有很多指针指向其他对象。也就是说,它不仅仅是父元素所指向的对象的子元素,还有很多关系指针。
有没有办法查看postMessage()
副本的内容?就像查看原始JSON的方式一样?
答案 0 :(得分:0)
我的错误。我使用Chrome并忘记了Chrome的console.log与大多数浏览器不同。尝试使用console.dir(object)。
我也详细阐述了代码。
记录您的工作人员发送回主线程的内容......
// will log what your worker is sending back to the main thread
onmessage = function (e) { console.dir(e.data); }
要查看主线程发送给工作人员的内容......
// The worker
var worker = new Worker('worker.js');
// Prepare message for worker
var message = {
colors: ['red', 'blue', 'green'],
numbers: [1,2,3]
};
// log it
console.dir(message);
// send it
worker.sendMessage(message)
也可以检查this answer以查看console.log和console.dir之间的区别。