首页 > 解决方案 > 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。

标签: javascripteventsdom-events

解决方案


推荐阅读