npm 包 emity 使用教程

阅读时长 4 分钟读完

什么是 emity

emity 是一个轻量级的 EventEmitter 库,它用于 Node.js 和浏览器 JavaScript 应用程序中提供事件发布/订阅模式的实现。emity 适用于需要模块化和具有高度自定义功能和性能要求的代码库。

安装 emity

使用 npm 安装 emity:

在 Node.js 中使用 emity

首选,我们需要在代码中引入 emity:

创建实例

emity 中的事件实例可以通过 new 来创建。您可以选择不使用选项或将其传递给它:

这里 delimeter 用于分割命名空间,wildcard 用于启用通配符模式。

发布事件

您可以使用 emit() 方法发布事件并将它传递给感兴趣的观察者。

在此示例中,我们首先将侦听器附加到事件。接下来,我们在事件实例上调用 emit() 方法并将 event1 事件及其相关数据传递给该方法,以触发所有感兴趣的观察者:

添加观察者

要添加观察者,请使用 on() 或 once() 方法。 on() 方法将观察者附加到事件并在下一个事件调用时执行,而 once() 方法将观察者附加到事件并在下一个事件调用后自动删除它。

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

-- ------ -------------
-------------------- ---- -- -
  ------------------- ------- ---- ------ ------
---
展开代码

删除观察者

要删除观察者,请使用 off() 方法并传递之前发送的事件名称和要删除的观察者:

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

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

------------------- ----------
-------------------- - ---- ------ --- -- ------- -------
展开代码

通配符

emity 还支持通配符事件,可以使用 * 表示任意的事件名,** 表示任意的深度。

例如,您可以使用 emity.on('some-event/**', fn) 或 emity.on('some-**', fn) 来订阅命名空间 some-event 下的所有事件。

在浏览器中使用 emity

emity 同样可以在浏览器中使用。只需在您的 HTML 文件中添加以下代码即可使用 emity:

总结

至此,我们已经学习了 emity 的用法。使用 emity 使我们可以轻松地在我们的代码库中创建事件发布/订阅机制,并且执行起来也相当快。我们可以利用 emity 构建可维护性更高,性能更好,功能更丰富的模块化代码库。

参考资料

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

纠错
反馈

纠错反馈