electron的渲染进程和webview能否实现同步通信?

这个同步指的是await,也就是实现类似于await Promise那一套。
目前我跟webview内部通信都是注入preload 脚本,然后使用事件发送、监听事件那一套。但是这样搞是异步的,有个页面的场景需要与webview里的东西深度结合,需要两者共同参与,所以有没有一个同步通信的机制(类似于渲染进程与主进程的ipcRender.invoke这样的也行)

阅读 1.1k
1 个回答

我猜测你要的不是同步,而是不写回调函数?

渲染进程

async function someFun(){
  const data = await window.api.someFun()
  console.log(data)
  return
}

preload

ipcRenderer.invoke('someFun')

main进程

ipcMain.handle('someFun',()=>{
    return '123'
})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏