gpt4 book ai didi

javascript - 在子进程和父进程之间共享 ipc 对象

转载 作者:行者123 更新时间:2023-12-03 06:51:44 26 4
gpt4 key购买 nike

我有一个 Electron 应用程序,我在其中 fork 一个子进程来执行一些后台作业,而不会干扰主进程。

var onlineSyncChild = require('child_process').fork('./includes/server/onlineSync');

我想将 ipcMain 对象发送到子进程,以便它可以监听应用程序消息并做出相应响应。这是我所拥有的

const electron = require('electron');
const app = electron.app;
const ipcMain = electron.ipcMain;

...

var onlineSyncChild = require('child_process').fork('./includes/server/onlineSync');
onlineSyncChild.on('message', function (m) {
console.log('onlineSync says: ', m);
});
// send the ipcMain object into child
onlineSyncChild.send({type: 'set', ipc: ipcMain, db: DB});

但是当我尝试在子进程中使用它时,

this.ipc.on('query-online-status', this.ipcQueryOnlineStatus);

我收到一条错误消息,指出 this.ipc.on 不是函数。

我是否正确地假设这是不可能的,并且我所能做的只是在子进程和父进程之间发送常规对象?

最佳答案

您传递给 onlineSyncChild.send() 的消息在发送到子进程之前将被序列化为 JSON 字符串,因此 message 中的任何函数都将被省略。您可以在 JSON.stringify() 的文档中阅读有关序列化过程中省略的内容的更多信息。 .

关于javascript - 在子进程和父进程之间共享 ipc 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37469187/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com