我正在编写nodejs脚本。因为我使用worker_threads和一个广播channel创建了一个工人。我无法将消息从主线程发送到工作线程。但是,我能够将消息从工人发送到主线程。
以下是我的Main.js
的代码 let worker = new Worker('worker.js')
let channel = new BroadcastChannel('testChannel', {
type: 'node',
webWorkerSupport: true
})
channel.postMessage('sending message to worker')
channel.onmessage = message => {
console.log('received message in channel main')
console.log(message)
}
以下是worker.js
中的代码 let channel = new BroadcastChannel('testChannel', {
type: 'node',
webWorkerSupport: true
})
channel.onmessage = message => {
console.log('received message in channel')
console.log(message)
}
channel.postMessage('from worker')
`
您需要添加另一个BroadcastChannel
对象以传入消息。
示例(main.js):
let broadcastingChannel = new BroadcastChannel('testChannel', {
type: 'node',
webWorkerSupport: true
});
broadcastingChannel.postMessage('sending message to worker')
let incomingChannel = new BroadcastChannel('testChannel', {
type: 'node',
webWorkerSupport: true
});
incomingChannel.onmessage = message => {
console.log('received message in channel main')
console.log(message)
};