node.js中子进程如何将对象传递给主进程
时间: 2023-12-14 14:39:48 浏览: 73
在 Node.js 中,子进程和主进程之间可以通过消息传递来进行通信。要将对象从子进程传递给主进程,可以使用 `process.send()` 方法将消息发送到主进程,然后在主进程中监听 `message` 事件来接收消息。
以下是一个简单的示例代码:
主进程代码:
```javascript
const { fork } = require('child_process');
const childProcess = fork('./child.js');
childProcess.on('message', (data) => {
console.log(`Received data from child process: ${JSON.stringify(data)}`);
});
childProcess.send({ message: 'Hello from the child process!' });
```
子进程代码:
```javascript
process.on('message', (data) => {
console.log(`Received message from parent process: ${JSON.stringify(data)}`);
// Modify object and send it back to parent process
data.message = 'Hello from the modified child process!';
process.send(data);
});
```
在子进程中,我们监听 `message` 事件并接收从主进程发送过来的数据。然后,我们修改数据并使用 `process.send()` 方法将修改后的数据发送回主进程。
在主进程中,我们先创建一个子进程,并监听 `message` 事件来接收子进程发送的数据。然后,我们使用 `childProcess.send()` 方法将数据发送到子进程。
执行上述代码后,我们会在控制台上看到如下输出:
```
Received message from parent process: {"message":"Hello from the child process!"}
Received data from child process: {"message":"Hello from the modified child process!"}
```
这表明子进程成功地将对象传递给了主进程。
阅读全文