worker_threads.receiveMessageOnPort(port)
port<MessagePort> | <BroadcastChannel>- 返回:<Object> | <undefined>
从指定的 MessagePort 接收一条消息。如果没有可用的消息,则返回 undefined,否则返回一个包含单个 message 属性的对象,该属性包含消息负载,对应于 MessagePort 队列中最旧的消息。
【Receive a single message from a given MessagePort. If no message is available,
undefined is returned, otherwise an object with a single message property
that contains the message payload, corresponding to the oldest message in the
MessagePort's queue.】
import { MessageChannel, receiveMessageOnPort } from 'node:worker_threads';
const { port1, port2 } = new MessageChannel();
port1.postMessage({ hello: 'world' });
console.log(receiveMessageOnPort(port2));
// Prints: { message: { hello: 'world' } }
console.log(receiveMessageOnPort(port2));
// Prints: undefined'use strict';
const { MessageChannel, receiveMessageOnPort } = require('node:worker_threads');
const { port1, port2 } = new MessageChannel();
port1.postMessage({ hello: 'world' });
console.log(receiveMessageOnPort(port2));
// Prints: { message: { hello: 'world' } }
console.log(receiveMessageOnPort(port2));
// Prints: undefined当使用此函数时,不会触发 'message' 事件,并且不会调用 onmessage 监听器。
【When this function is used, no 'message' event is emitted and the
onmessage listener is not invoked.】