Javascript 是否有任何方法可以将异步消息发送到electron中的每个渲染器进程?

Javascript 是否有任何方法可以将异步消息发送到electron中的每个渲染器进程?,javascript,electron,ipc,Javascript,Electron,Ipc,我正在尝试构建一个简单的天气应用程序 我有两个渲染器进程1。main\u uiwindow 2。settingswindow 设置窗口是从主界面窗口创建的。 现在我想从设置窗口中选择一个城市名称,这样城市的天气信息就可以显示在主界面窗口中。我怎样才能做到呢 settings.js main.js 但是我知道event.sender.send()将回复设置窗口。如何在main\u ui上捕获reply 是否有任何方法可以将异步消息发送到electron中的每个渲染器进程 是的,你可以一个接一个

我正在尝试构建一个简单的天气应用程序

我有两个渲染器进程1。
main\u ui
window 2。
settings
window

设置
窗口是从
主界面
窗口创建的。 现在我想从
设置
窗口中选择一个城市名称,这样城市的天气信息就可以显示在
主界面
窗口中。我怎样才能做到呢

settings.js

main.js

但是我知道
event.sender.send()
将回复
设置
窗口。如何在
main\u ui
上捕获
reply

是否有任何方法可以将异步消息发送到electron中的每个渲染器进程

是的,你可以一个接一个

const{webContents}=require('electron'))
WebContent.GetAllWebContent().forEach(wc=>{
wc.send('reply',arg)
})

对于您的实际问题,您可以更好地设计流程以避免此类情况:

  • 如果两个进程有如此多的共同点,那么它们可以是一个进程,但却是具有不同视图的复杂html
  • 如果这些流程非常重要,那么您的主流程可以直接调用它们
var submit = document.getElementById("submit");
var city_id = document.getElementById("city_code");
var city_name = document.getElementById("city_name");
submit.addEventListener('click', () => { 
ipcRenderer.send('set_city_name', 
document.getElementById('city_name').value);
console.log(document.getElementById('city_name').value);})
ipcMain.on('set_city_name', (event, arg) => {
console.log("got it");
console.log(arg);
event.sender.send('reply', arg);
});