npm 包 @theatersoft/bus 使用教程

阅读时长 4 分钟读完

简介

@theatersoft/bus 是一个基于 Node.js 实现的简易消息通信库,通过封装 EventEmitter 类实现了多进程/线程之间的数据传递,同时也支持异步操作以及 Promise 封装。

安装

在项目根目录下运行以下命令进行安装:

使用方法

创建 bus 实例

首先需要创建一个 bus 实例,可以根据给定的名称来实例化一个 bus:

发送和接收消息

发送和接收消息是 bus 的主要功能,可以使用 send 方法来向其他进程/线程发送消息:

同时也可以使用 on 方法来监听消息:

异步操作与 Promise

在有些情况下我们需要进行异步操作,并需要在操作完成后执行一些逻辑。这时可以使用 bus 的 request 方法,该方法可以发送消息并返回一个 Promise 对象,当数据处理完毕后通过 resolve 返回处理结果,例如:

同时,在另一个进程/线程中可以监听并处理这个请求:

销毁 bus 实例

当不再需要使用 bus 实例时,可以通过调用 destroy 方法进行销毁:

示例代码

以下是使用 @theatersoft/bus 实现的一个简单示例:

-- -------------------- ---- -------
-- ------------
----- - --- - - ---------------------------

----- --- - --- ------------------------

-------------- --------- ------ -- -
  --------------------- ----- ------------
  -------------
--

------------- -- -
  -------------
-- -----

-- ------------
----- - --- - - ---------------------------

----- --- - --- ------------------------

------------------- --------------------- -- -
  --------------------- ----- -----------
--

-------------

在这个示例中,我们创建了两个进程分别运行 process-1.jsprocess-2.jsprocess-1.js 监听 ping 消息,并在接收到消息后返回 pongprocess-2.js 发送 ping 消息并等待接收到 pong 消息后退出。通过这个示例我们可以看到,在多进程/线程的情况下,@theatersoft/bus 能够很好地满足我们的通信需求。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/144455