Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Electron在使用BrowserWindow.WebContent.send在渲染器之间发送大型对象时失败_Javascript_Angularjs_Electron - Fatal编程技术网

Javascript Electron在使用BrowserWindow.WebContent.send在渲染器之间发送大型对象时失败

Javascript Electron在使用BrowserWindow.WebContent.send在渲染器之间发送大型对象时失败,javascript,angularjs,electron,Javascript,Angularjs,Electron,我发现不可能移动一个充满数据的大对象 console.log('here') BrowserWindow.webContents.send('test',data) console.log('again') 没有错误消息,但我没有获取“再次”日志。 如果我一块一块地构建数据,它可以处理简单的数据,但是当我复制了很大一部分数据时,它就不能工作了。我无法复制它,因为我在对象中要传递的项的数量非常大(参见图),但我JSON序列化它没有问题 在Electron中,是否有其他方法可以将此变量从一个渲染器

我发现不可能移动一个充满数据的大对象

console.log('here')
BrowserWindow.webContents.send('test',data)
console.log('again')
没有错误消息,但我没有获取“再次”日志。 如果我一块一块地构建数据,它可以处理简单的数据,但是当我复制了很大一部分数据时,它就不能工作了。我无法复制它,因为我在对象中要传递的项的数量非常大(参见图),但我JSON序列化它没有问题

在Electron中,是否有其他方法可以将此变量从一个渲染器传递到另一个渲染器


您可以使用IPC尝试相反的方法:

从渲染器发送同步消息,并自动从主渲染器返回所需的消息

var data= ipcRenderer.sendSync("msg", "ping");


您的示例是关于渲染器到主渲染器,他希望将渲染器发送到另一个渲染器。是的,但您可以使用像主渲染器一样的渲染器进程。我测试了一些类似的东西,它可以工作。你的JSON序列化有多大?我也遇到了同样的问题,但是
JSON.stringify()
告诉我是130MB。也许这算是“太大了”?在我的例子中,它让我意识到,即使我让它工作了,它也没有像我想象的那样工作,我需要一种不同的方法。是的,我面临的问题最终与js对象和/或JSON对象的大小有关,正如你所说,对于这些情况,我需要一个不同的视角,我只是有一些类似的错误,通过将消息发送到main,然后发送到相应的渲染器,修复了此问题。我有两个渲染器进程,表单和主窗口,我需要将消息从表单传递到主窗口,它必须通过主进程,否则事件不会被消耗。结果证明这不是大小问题,即使我的字符串大小是大约1mb长的imageURL。
ipcMain.on("msg", (event, arg) => {
   event.returnValue = data
})