MessageChannel消息频道

学习MessageChannel消息频道

Posted by wangchong on April 6, 2019

MessageChannel

MessageChannel可以实现一个通讯机制,允许我们创建一个新的消息通道。它是一个构造函数。

实例化

const channel = new MessageChannel();
console.log(channel);

实例化对象上有两个MessagePort对,象并且这两个对象是只读的。这两个对象间可以相同通信。例如:

const channel = new MessageChannel();
const port1 = channel.port1;
const port2 = channel.port2;
//监听信息
port1.onmessage = function(val){
    console.log("收到port2的数据",val.data);
}
port2.onmessage = function(val){
    console.log('收到port1的数据',val.data);
}
//发送信息
port1.postMessage('向port2发送数据');
port2.postMessage('向port1发送数据');