javascript - 使用 BrowserWindow.webContents.send 在渲染器之间发送大对象时 Electron 失败

标签 javascript angularjs electron

我发现用

移动一个装满数据的大对象是不可能的
console.log('here')
BrowserWindow.webContents.send('test',data)
console.log('again')

没有错误消息,但我没有收到“再次”日志。 如果我逐个构建数据,它可以处理简单数据,但是当我复制大部分数据时,它就不行了。我无法重现它,因为我在要传递的对象中拥有的项目数量非常大(见图),但我对其进行 JSON 序列化没有问题。

在 Electron 中,是否可以将此变量从一个渲染器传递到另一个渲染器?

screenshot

最佳答案

你可以用 IPC 做相反的尝试:

从 Renderer 发送一条同步消息,并自动从 Main 返回您想要的消息。

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

ipcMain.on("msg", (event, arg) => {
   event.returnValue = data
})

关于javascript - 使用 BrowserWindow.webContents.send 在渲染器之间发送大对象时 Electron 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40882314/

相关文章:

javascript - 多个选择下拉列表的计算

javascript - 获取多个元素的第 N 个父元素

javascript - Angular UI Typeahead 不显示下拉菜单

javascript - 将元素插入数组,其中对象由用户指定

javascript - ion-header-bar 无法与侧菜单和幻灯片一起使用

javascript - jQuery 的 `getScript` 失败。路径正确,脚本下载正确。

javascript - 更改页面上使用的每个实例的 jquery 变量

javascript - 如何通过使用 Electron 点击通知打开页面

html5-canvas - 在 Electron 中将 OffscreenCanvas 内容以 PNG 格式保存到磁盘

javascript - Electron 通知 API 'click' 事件不起作用