嗨,我从主要流程中请求两个结果,但是当我单击按钮时,该应用程序保持冻结。即使devtools也不起作用。
Main.js

ipcMain.on('fmail', (event, arg) => {
  var fmaile = even
  var fmaila = arg

  ipcMain.on('fpass', (event, arg) => {
    var fpasse = event
    var fpassa = arg

    console.log(fpassa)
    console.log(fmaila)

    fmaile.returnValue = "info"
    fpasse.returnValue = "info"
  })
})
Java脚本
var datamail = ipcRenderer.sendSync('fmail', "fmail");
var datapass = ipcRenderer.sendSync('fpass', "fpass");
console.log(datamail)
console.log(datapass)
感谢帮助。

最佳答案

docs在这一点很清楚:



由于您没有在fmail回调中提供返回值,因此也难怪它会阻止您的应用程序。

另外,我想您想分别注册两个侦听器。您当前拥有的是“每次调用'fmail'时将监听器添加到'fpass'中”

您的代码应该看起来像这样(但不能准确地告诉您)

ipcMain.on('fmail', (event, arg) => {
  console.log(arg)
  event.returnValue = "info"
})
ipcMain.on('fpass', (event, arg) => {
  console.log(arg)
  event.returnValue = "info"
})
console.log(
  ipcRenderer.sendSync('fmail', "fmail"),
  ipcRenderer.sendSync('fpass', "fpass")
)

07-28 09:12