MessageChannel

2021-12-10  本文已影响0人  jluemmmm

MessageChannel接口的MessageChannel构造函数返回一个新的MessageChannel对象,返回的对象中包含两个MessagePort对象。这个特性在 Web Worker中可用。属于宏任务的一种。

MessageChannel创建了一个通信的管道,这个管道有两个只读端口,每个端口都可以通过postMessage发送数据,一个端口只要绑定了onmessage回调方法,就可以接收从另一个端口传过来的数据。

// 一个简单的例子
let channel = new MessageChannel()
let port1 = channel.port1
let port2 = channel.port2
port1.onmessage = function(event) {
  console.log('port1收到来自port2的数据' + event.data)
}
port2.onmessage = function(event) {
  console.log('port2收到来自port1的数据' + event.data)
}
port1.postMessage('hhhh')
port2.postMessage('xxxx')

MessagePort接口代表MessageChannel的两个端口之一,可以让你从一个端口发送消息,并在消息到达的另一个端口监听。

事件回调

继承自父类EventTarget的事件回调

上一篇 下一篇

猜你喜欢

热点阅读