2016-05-26 11 views
0

私は、fork子プロセスがメインプロセスを妨げることなくバックグラウンドジョブを実行する電子アプリケーションを持っています。子プロセスと親プロセスの間でipcオブジェクトを共有する

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

私はそれがアプリケーションのメッセージに耳を傾け、それに応じて対応できるように、子プロセスにipcMainオブジェクトを送信したいと思います。私は子プロセス内でそれを使用しようとすると、ここで は、私がthis.ipc.onがあるというエラーを取得しています、しかし...私は

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

持っているもの

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

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}); 

です関数ではありません。

私はこれが不可能であると仮定して正しいと思いますが、私ができることは、子プロセスと親プロセスの間にのみ通常のオブジェクトを送ります。

答えて

0

onlineSyncChild.send()に渡すメッセージは、子プロセスに送信される前にJSON文字列にシリアル化されるため、messageの関数は省略されます。シリアライズ処理中に何が省略されたかについて詳しくは、JSON.stringify()のドキュメントを参照してください。

関連する問題