【问题标题】:Can RxJS Observables perform inter-process communication in an Electron app?RxJS Observables 可以在 Electron 应用程序中执行进程间通信吗?
【发布时间】:2018-07-08 14:47:36
【问题描述】:

对于一个 Electron 应用程序,我想知道,我们是否可以使用 Observables 来代替使用远程模块在不同的渲染器进程之间进行通信。

我读过 Renderer Processes 和 Main 进程完全不同,据我了解,这会限制 Observables 的使用。

我也不完全了解 Observable 的细节。所以,请对我放轻松:P

【问题讨论】:

  • 我对 q 有点困惑,Observable 本身在 js 上下文中运行,因此它没有能力直接访问另一个进程。如果 q 是 ipc 可以包装到 observables 中,答案是肯定的,这就是我在我的代码库中使用的方式,但是阅读 q 听起来你的想法有些不同。您能否详细说明问题的确切意图?
  • @OJKwon 我很确定你知道这一点,我们可以使用远程模块作为 IPCRenderer 的附加抽象级别,用于进程间通信。我想知道我们是否可以改为使用 Observable 来实现相同的行为。另外,您能否详细介绍一下您是如何使用 Observables 将 ipc 包装到您的代码库中的?

标签: javascript rxjs electron


【解决方案1】:

根据评论,我认为 Observable 可以做什么与不能做什么存在一些误解。 Observable 允许您以特定方式处理各种异步时间序列事件。 Electron 的远程模块完全不同,它旨在暴露 Electron 中进程之间的一些代理对象。

为了通过 observable 处理 IPC 的消息,您可以轻松地创建像 fromEvent(IPCxxx, 'channel') //chain operator as you need 这样的事件绑定,但它并没有摆脱 IPC 本身的必要性,因为在 Electron 的进程之间使用任何类型的 ipc 机制是必不可少的 - 只是无论您选择哪种机制。

【讨论】:

    猜你喜欢
    • 2017-10-07
    • 1970-01-01
    • 2017-03-02
    • 1970-01-01
    • 1970-01-01
    • 2019-10-05
    • 1970-01-01
    • 1970-01-01
    • 2019-11-03
    相关资源
    最近更新 更多