如何查看Worker.postMessage(myObject)调用中发布的原始数据?

时间:2014-06-30 22:53:27

标签: javascript browser web-worker

Web工作者postMessage()在发送对象时的好处是它将整个对象序列化,包括作为对象的对象的所有元素。所有作为指向另一个对象的指针的数据都会遇到并重建,所有数据都指向正确的东西。

问题是......确保它只能带来我需要的东西。我正在拉动一个链接的对象列表的子集,其中对象中有很多指针指向其他对象。也就是说,它不仅仅是父元素所指向的对象的子元素,还有很多关系指针。

有没有办法查看postMessage()副本的内容?就像查看原始JSON的方式一样?

1 个答案:

答案 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之间的区别。