首页 > 解决方案 > 在响应时从 Electron ipcMain 创建可观察的 RxJS

问题描述

使用 sendSync 创建 observable 很容易。我想使用 ipcMain 创建一个 observable 不使用简单回调的情况下打开。

return of(this.electronService.ipcRenderer.sendSync(channel.IPCMAIN_REQUEST_DATA));

类似的东西,但不起作用。

return this.electronService.ipcRenderer.on(channel.IPCMAIN_RESPONSE_DATA, (event , response) => {
  return of(response);
});

标签: rxjselectronreactive-programming

解决方案


试试这个

return (new Observable(subscriber=>{
    this.electronService.ipcRenderer.on(channel.IPCMAIN_RESPONSE_DATA, (event , response) => {
      subscriber.next(response)
    });
}));

如果事件被触发,那么 observable 将发出一个新值


推荐阅读