MessagePort:start() 方法

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

备注: 此特性在 Web Worker 中可用。

MessagePort 接口的 start() 方法开始发送该端口中的消息队列。只有在使用 EventTarget.addEventListener 时才需要此方法;使用 onmessage 事件时已隐含调用该方法。

语法

js
start()

参数

无。

返回值

无(undefined)。

示例

在以下代码块中,你可以看到一个名为 handleMessage 的处理函数,当使用 onmessage 向本文档发回信息时运行:

js
channel.port1.onmessage = handleMessage;
function handleMessage(e) {
  para.innerHTML = e.data;
}

另一种选择是使用 EventTarget.addEventListener,但是使用这种方法时,需要显式调用 start() 来开始向此文档发送消息:

js
channel.port1.addEventListener("message", handleMessage, false);
function handleMessage(e) {
  para.innerHTML = e.data;
  textInput.value = "";
}

channel.port1.start();

规范

Specification
HTML Standard
# dom-messageport-start-dev

浏览器兼容性

BCD tables only load in the browser

参见