node.js中子进程如何传入对象给住进曾
时间: 2023-07-07 11:06:15 浏览: 197
Node.js 多进程处理CPU密集任务的实现
在Node.js中,子进程可以使用标准流(stdin和stdout)进行通信,也可以使用IPC通道进行通信。要向子进程传递对象,可以使用JSON序列化将对象转换为字符串,然后将其写入子进程的stdin。子进程可以读取stdin并将其解析为对象。
以下是一个简单的示例,演示如何将对象传递给子进程:
```javascript
const { spawn } = require('child_process');
// 定义要传递的对象
const obj = {
name: 'Alice',
age: 32
};
// 将对象转换为字符串
const objStr = JSON.stringify(obj);
// 启动子进程
const child = spawn('node', ['child.js']);
// 将字符串写入子进程的stdin
child.stdin.write(objStr);
child.stdin.end();
```
在子进程中,可以读取stdin并将其解析为对象:
```javascript
process.stdin.on('data', data => {
// 将接收到的数据转换为对象
const obj = JSON.parse(data);
// 打印对象属性
console.log(obj.name);
console.log(obj.age);
});
```
这样,子进程就可以接收到父进程传递的对象,并对其进行操作。
阅读全文