npm 包 emittery 使用教程

emittery 是一个小巧且功能强大的事件处理工具,可以让你在前端应用中更轻松地管理事件。它支持异步事件、命名空间、按需取消事件等高级功能,并且非常容易使用,本文将向您介绍如何使用 emittery。

安装

要使用 emittery,您需要先安装它。您可以使用 npm 进行安装,打开终端并输入以下命令:

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

基本使用

首先,创建一个新的 EventEmitter 实例:

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

接下来,您可以使用 .on() 方法监听事件:

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

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

注意:.emit() 方法会触发所有与事件名称匹配的监听器。

您还可以使用 .off() 方法删除事件监听器:

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

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

异步事件

emittery 支持异步事件,这意味着您可以等待事件完成后再继续执行代码。要创建异步事件,请返回 Promise 对象:

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

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

命名空间

emittery 支持命名空间,这意味着您可以更轻松地管理多个事件监听器。要创建命名空间,请在事件名称中添加 .

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

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

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

您还可以使用 .off() 方法删除命名空间中的所有事件监听器:

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

取消事件

emittery 支持取消事件,这意味着您可以在事件触发后取消它。要取消事件,只需将 .emit() 方法替换为 .emitSerial().emitParallel()

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

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

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

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

示例代码

下面是一个完整的示例代码,演示了如何使用 emittery:

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

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

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

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

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

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

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

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

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

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

至此,您已经了

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