首页 > 解决方案 > ipcRenderer 代替远程

问题描述

因此,显然remote在 Electron 中使用该模块是一种不好的做法,他们正计划杀死它。他们说ipcRenderer应该使用该模块。

但是ipc的东西是一个事件系统。

如果在预加载脚本中我需要从主进程中获取某个变量怎么办?我无法监听给我该变量的 ipc 事件,因为它可能在脚本完成后出现!使用远程模块,当您调用时,您remote.app.function()可以得到您想要的脚本,直到您得到结果,就像使用任何普通函数一样。

标签: javascriptnode.jselectronipc

解决方案


remote只不过是ipc的一个包装器。如果您可以远程执行某些操作,那么它也应该可以通过 ipcRenderer 获得。

您正在寻找的是sendSync https://www.electronjs.org/docs/api/ipc-renderer#ipcrenderersendsyncchannel-args允许等待 ipc 返回消息。但正如remote's deprecation reasoning 中所指出的,这通常是可能的footgun,应谨慎使用。


推荐阅读