worker_threads.parentPort
-
类型:<null> | <MessagePort>
¥Type: <null> | <MessagePort>
如果此线程是 Worker,则这是允许与父线程通信的 MessagePort。使用 parentPort.postMessage() 发送的消息在使用 worker.on('message') 的父线程中可用,使用 worker.postMessage() 从父线程发送的消息在使用 parentPort.on('message') 的该线程中可用。
¥If this thread is a Worker, this is a MessagePort
allowing communication with the parent thread. Messages sent using
parentPort.postMessage() are available in the parent thread
using worker.on('message'), and messages sent from the parent thread
using worker.postMessage() are available in this thread using
parentPort.on('message').
import { Worker, isMainThread, parentPort } from 'node:worker_threads';
if (isMainThread) {
const worker = new Worker(new URL(import.meta.url));
worker.once('message', (message) => {
console.log(message); // Prints 'Hello, world!'.
});
worker.postMessage('Hello, world!');
} else {
// When a message from the parent thread is received, send it back:
parentPort.once('message', (message) => {
parentPort.postMessage(message);
});
}'use strict';
const { Worker, isMainThread, parentPort } = require('node:worker_threads');
if (isMainThread) {
const worker = new Worker(__filename);
worker.once('message', (message) => {
console.log(message); // Prints 'Hello, world!'.
});
worker.postMessage('Hello, world!');
} else {
// When a message from the parent thread is received, send it back:
parentPort.once('message', (message) => {
parentPort.postMessage(message);
});
}