繁体   English   中英

将 Javascript 对象从子进程流式传输到父进程

[英]Streaming Javascript Objects from child process to parent

有没有一种简单的方法可以将 nodejs 对象从子进程流式传输到父进程? 我试图打破通过各种处理组件流式传输对象的长管道。 我现在想打破链并在子进程中拥有它的一部分。 我在将标准输出从子级传输到父级时没有问题,但那是字符串和缓冲区。 我知道我可以在发送端使用 JSON.stringify,在接收端使用 JSON.parse,但还有其他方法吗?

您不能直接在进程之间移动 Javascript 对象(因为它们是在不同进程内存中运行的完全不同的 V8 实例),因此它们必须被序列化,然后以某种方式反序列化(JSON 通常用于这种序列化)。

有没有一种简单的方法可以将 nodejs 对象从子进程流式传输到父进程?

您可以使用process.send(someObj)将对象从子process.send(someObj)发送到父进程,nodejs 将为您执行序列化和反序列化(将对象克隆到父进程中)。 该对象需要是纯 Javascript(因此没有对本机代码内容的引用)并且没有循环引用,但可以是任何纯 Javascript 对象。

这是通过一个 IPC 通道发送的,当创建子进程时,nodejs 会在父进程和子进程之间自动设置该 IPC 通道。 根据文档,“消息将作为父级 ChildProcess 对象上的‘消息’事件接收。”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM