javascript - Javascript 从发出事件中获取结果
问题描述
我正在为 electron.js 编写一个应用程序,使用这种结构在主进程和渲染进程之间进行通信。
在主进程上,我建立了一个这样的上下文桥:preload.js(主进程 = electron/node.js):
const {ipcRenderer, contextBridge} = require("electron");
contextBridge.exposeInMainWorld("electron", {
ipcRenderer_invoke: (channel, ...params) => ipcRenderer.invoke(channel, ...params)});
main.js(主进程=电子/node.js):
const {ipcMain} =require ("electron");
ipcMain.handle('test', async (event,a) => {return a*5;});
browser.js(渲染过程=浏览器)
var number= await window.electron.ipcRenderer_invoke("test",12);
console.log(number); // returns 60
这一切都很好,但我现在希望一切都适应科尔多瓦,这意味着我将浏览必要的模块并在浏览器/网络工具包中运行所有代码。问题是我不知道如何搜索和替换 main.js 中的句柄,并在纯浏览器 javascript(或库)中搜索和替换来自 browser.js 的调用,以便我可以保留我的代码结构相同的。我已经尝试过事件,但是这些事件没有给我返回值。它们返回 true 而不是上面示例中的预期值 60。
解决方案
推荐阅读
- javascript - 如何在expressjs中的pug中使用缓存的渲染器
- android - 第一次 API 调用比进一步的 API 调用需要更多的时间来响应
- r - R:在另一个 ggplot 的 x 和 y 轴上显示 ggplot 的好方法
- websocket - 无法在远程服务器上启动 hivemq 服务器?
- php - 为什么这在新星指标中不起作用?
- google-cloud-platform - 谷歌云 SQL 日期格式
- php - 如何在 PHP 中通过 ssh 连接到 imap
- python - 在 pandas apply 方法中,根据条件复制行
- c# - 对于 Firebase 的常见用户操作,我应该使用哪种事件类型?
- javascript - 有什么办法可以防止 Stackblitz 中的 share、fork 选项