![](/img/trans.png)
[英]angular2 change detection after Worker.onmessage does not work as expect
[英]Does the event object on worker.onmessage ever contain anything interesting apart from data?
添加回调以捕获通过Web worker管道传输的数据时,通常会执行以下操作:
worker.addEventListener("message", function(event) {
var data = event.data;
// Do something with data
...
});
我从未触及任何其他属性,当我将事件对象记录到控制台时,我没有注意到任何有趣的东西。 由于Event
对象的创建给消息传输增加了一些开销,我问:
问: webworker回调中的Event
对象有什么有趣的,或者我们是否只使用event.data
?
在这种情况下,事件对象遵循MessageEvents接口,该接口包含以下属性:
data属性必须返回它初始化的值。 创建对象时,必须将此属性初始化为null。 它表示正在发送的消息。
origin属性必须返回它初始化的值。 创建对象时,必须将此属性初始化为空字符串。 它在服务器发送的事件和跨文档消息传递中表示发送消息的文档的来源(通常是文档的方案,主机名和端口,但不包括其路径或片段标识符)。
lastEventId属性必须返回它初始化的值。 创建对象时,必须将此属性初始化为空字符串。 它在服务器发送的事件中表示事件源的最后一个事件ID字符串。
source属性必须返回它初始化的值。 创建对象时,必须将此属性初始化为null。 它在跨文档消息传递中表示消息来自的Window对象的浏览上下文的WindowProxy。
ports属性必须返回它初始化的值。 创建对象时,必须将此属性初始化为null。 它表示在跨文档消息传递和通道消息传递中发送的MessagePort数组(如果有)。
有关详细信息,请参阅规范。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.