javascript - ipcRenderer 代替远程
问题描述
因此,显然remote
在 Electron 中使用该模块是一种不好的做法,他们正计划杀死它。他们说ipcRenderer
应该使用该模块。
但是ipc的东西是一个事件系统。
如果在预加载脚本中我需要从主进程中获取某个变量怎么办?我无法监听给我该变量的 ipc 事件,因为它可能在脚本完成后出现!使用远程模块,当您调用时,您remote.app.function()
可以得到您想要的脚本,直到您得到结果,就像使用任何普通函数一样。
解决方案
remote
只不过是ipc的一个包装器。如果您可以远程执行某些操作,那么它也应该可以通过 ipcRenderer 获得。
您正在寻找的是sendSync
https://www.electronjs.org/docs/api/ipc-renderer#ipcrenderersendsyncchannel-args允许等待 ipc 返回消息。但正如remote
's deprecation reasoning 中所指出的,这通常是可能的footgun,应谨慎使用。
推荐阅读
- .net - 在 Ubuntu Core 18 上安装 .net (dotnet) 5.0
- php - laravel 跨数据库事务问题
- asp.net-core - 将更新的代码部署到 Linux 2 AWS Elastic Beanstalk 时出现问题
- python - cublas 运行时错误:GPU 程序无法在 /pytorch/aten/src/THC/THCBlas.cu:450 处执行
- python - 使用 python 提取带有美丽汤的文本的问题
- php - PHP is_a() 为数组返回 false?
- android - Android - 重新创建片段/活动时如何省略 liveData 的最后一个值?[解决了]
- node.js - 上传文件,如果没有选择文件如何管理错误?强大的.IncomingForm() 和 nodejs
- linux - 如何在 Ubuntu 上构建与 Windows 上相同的 Docker 缓存行为?
- c# - 获取 UWP 的独立存储路径