Node.js 进程消息事件

Node.js 进程消息事件

“message”是进程模块内部的Process类的一个事件,每当父进程发送的消息通过childprocess.send()被子进程接收时就会发出。

语法:

Event: 'message'
JavaScript

参数: 此事件不接受任何参数。

返回值: 此事件除了回调函数以外没有返回值,用于进一步操作。

示例1:

文件名是index.js。

// Node.js program to demonstrate the  
// Process 'message' Event
 
// Importing process module
const cp = require('child_process');
 
// Initiating child process
const process = cp.fork(`${__dirname}/sub.js`);
 
// Causes the child to print: 
// CHILD got message: { hello: 'world' }
process.send({ hello: 'world' });
JavaScript

这里的文件名是sub.js

// Importing process module
const process = require('process');
 
// Message Event
process.on('message', (m) => {
    console.log('CHILD got message:', m);
    process.exit(0)
});
JavaScript

使用以下命令运行 index.js 文件:

node index.js
JavaScript

输出:

CHILD got message: { hello: 'world' }
JavaScript

示例2:

文件名为index.js

// Node.js program to demonstrate the  
// Process 'message' Event
 
// Importing process module
const cp = require('child_process');
 
// Initiating child process
const process = cp.fork(`${__dirname}/sub.js`);
 
// Message Event
process.on('message', (m) => {
    console.log('PARENT got message:', m);
});
 
// Causes the child to print: 
// CHILD got message: { hello: 'world' }
process.send({ hello: 'world' });
JavaScript

这里的文件名是sub.js

// Importing process module
const process = require('process');
 
// Message Event
process.on('message', (m) => {
    console.log('CHILD got message:', m);
    process.exit(0)
});
 
// Causes the parent to print: 
// PARENT got message: { foo: 'bar', baz: null }
process.send({ foo: 'bar', baz: NaN });
JavaScript

使用以下命令运行 index.js 文件:

node index.js
JavaScript

输出:

CHILD got message: { hello: 'world' }
PARENT got message: { foo: 'bar', baz: null }
JavaScript

参考资料: https://nodejs.org/dist/latest-v16.x/docs/api/process.html#process_event_message

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册