Método Node.js MessageChannel.postMessage()

El método MessagePort.postMessage() es una interfaz de programación de aplicaciones incorporada de la clase Worker dentro del módulo worker_threads que se usa para enviar el mensaje de un puerto a otro.

Sintaxis:

const MessagePort.postMessage(value[, transferList])

Parámetros: este método toma el valor como un parámetro que puede contener cualquier tipo de objeto.

Valor de retorno: este método envía el mensaje de un puerto a otro.

Ejemplo 1: Nombre de archivo: index.js

Javascript

// Node.js program to demonstrate the
// MessageChannel.postMessage() method
 
// Importing worker_thread module
const { MessageChannel, receiveMessageOnPort }
        = require('worker_threads');
 
// Creating and initializing the MessageChannel
const { port1, port2 } = new MessageChannel();
 
// Sending data to port 2
// by using postMessage() method
port1.postMessage({ hello: 'world1' });
 
// Posting data in port 1
// by using postMessage() method
port2.postMessage({ hello: 'world2' });
 
/// Display the result
console.log("received data in port1 : ");
console.log(receiveMessageOnPort(port1));
 
console.log("received data in port2 : ");
console.log(receiveMessageOnPort(port2));
 
// Closing the ports
port1.close();
port2.close();

Producción:

received data in port1 :
{ message: { hello: 'world2' } }
received data in port2 :
{ message: { hello: 'world1' } }

Ejemplo 2: Nombre de archivo: index.js

Javascript

// Node.js program to demonstrate the
// MessageChannel.postMessage() method
 
// Importing worker_thread module
 
const { MessageChannel, receiveMessageOnPort }
        = require('worker_threads');
 
// Creating and initializing the MessageChannel
const { port1, port2 } = new MessageChannel();
 
// Catching the event message
port2.on('message', (message) => console.log(message));
 
// Catching the event close
port2.on('close', () => console.log('closed!'));
 
// Sending message to port2
// by using postMessage() method
port1.postMessage('GFG');
 
// Closing port by using
// close() method
port1.close();

Producción:

GFG
closed!

Ejecute el archivo index.js con el siguiente comando:

node index.js

Referencia: https://nodejs.org/dist/latest-v12.x/docs/api/worker_threads.html#worker_threads_port_postmessage_value_transferlist

Publicación traducida automáticamente

Artículo escrito por RohitPrasad3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *