@billjs/event-emitter

中文文档
1.0.3发布于 2018/12/13MITTypeScriptCommonJS零依赖近 30 天下载 5334

由 TypeScript 为Node.js 或浏览器制作的简单而轻量级事件Emiter.

中文使用文档
文档目录15 节
  1. 安装
  2. 概览
  3. API 密码
  4. 事件编辑器
  5. 全球活动
  6. 打开
  7. 一次
  8. 关
  9. 全部关闭
  10. 开火
  11. 已经
  12. 获取手提箱
  13. 事件汉德勒
  14. 活动
  15. 许可证

事件主题 Travis-ci Status GitHub license typescript | javascript | node.js Npm Version

由 TypeScript 为Node.js 或浏览器制作的简单而轻量级事件Emiter.

安装

安装使用 npm install 命令 :

npm install -S @billjs/event-emitter

概览

API 密码

事件编辑器

是管理事件的班级. 它可以被扩展,为其他类或对象提供事件功能.

  • 类 - ES6级

有二种用法.

一个办法:

const emitter = new EventEmitter();
emitter.on('event', evt => {
  console.log(evt);
});

另一种方式:

class Store extends EventEmitter {
  set(key: string, value: any) {
    this.fire(`change:${key}`, value);
  }
}

全球活动

事件Emitter是全球范围的一个实例,你可以直接将其作为全球范围的事件发射器.

// the code maybe in `a.ts`
globalEvent.on('event', evt => {
  console.log(evt);
});
// the code maybe in `b.ts`
globalEvent.fire('event', 'test data');

打开

按类型和处理器聆听新事件 。 若听之,则取出真相还取,否则取出假相. 处理器如果是重复, 就不会听 .

  • 类型 (单位:千美元)string) - 事件类型,必须是独特的字符串.
  • 处理器 (单位:千美元)事件汉德勒)-事件处理器,如果同一处理器被通过,只听一次.
  • 返回时 (单位:千美元)boolean)若听取之,则取出真相还出,否则取出假相.
const emitter = new EventEmitter();
emitter.on('event', evt => {
  console.log(evt);
});

一次

按类型和处理者来聆听一次事件 当事件被解除时,它将被立即自动关闭. 处理器如果是重复, 就不会听 .

  • 类型 (单位:千美元)string) - 事件类型,必须是独特的字符串.
  • 处理器 (单位:千美元)事件汉德勒- 事件处理器,如果同一处理器通过,只听一次.
  • 返回时 (单位:千美元)boolean)若听之,则取出真相还取,否则取出假相.
const emitter = new EventEmitter();
emitter.once('event', evt => {
  console.log(evt);
});

关

按类型和处理者来听. 或按类型聆听事件,如果只通过类型参数. 或听从一切事件, 如果没有通过辩论.

  • [类型] (单位:千美元)string optional事件类型
  • [手 (单位:千美元)事件汉德勒 optional() 事件处理器

听从指定事件.

const emitter = new EventEmitter();
emitter.off('event', evt => undefined);

听从事件的类型.

const emitter = new EventEmitter();
emitter.off('event');

听着所有的事情,它做的一样 offAll 方法.

const emitter = new EventEmitter();
emitter.off();

全部关闭

听着,所有的事件, 这意味着每个事件都会被清空.

const emitter = new EventEmitter();
emitter.offAll();

开火

启动指定事件, 您可以通过数据 。 被开除后,与该事件相接的每一位操作员将被处死. 但是,如果这是一次事件, 立即从它关闭 之后叫处理器.

  • 类型 (单位:千美元)string) - 事件类型
  • [数据] (单位:千美元)any) - 事件数据
const emitter = new EventEmitter();
emitter.fire('event', 'test data');

已经

检查指定事件是否已被监听 . 或者按类型检查事件是否在听,如果只是 type 论证通过.

  • 类型 (单位:千美元)string) - 事件类型
  • [手 (单位:千美元)事件汉德勒 optional- 事件处理器
  • 返回时 (单位:千美元)boolean)所事被听取,则取出真相还取,否则取出假相.
const emitter = new EventEmitter();
if (emitter.has('event')) {
  console.log('has `event`');
}

获取手提箱

获取指定事件类型的处理器 .

  • 类型 (单位:千美元)string) - 事件类型
  • 返回时 (单位:千美元)事件汉德勒(中文(简体) )
const emitter = new EventEmitter();
const handlers = emitter.getHandlers('event');
console.log(handlers);

事件汉德勒

事件处理器, 这是正常的功能 .

  • 页:1 (单位:千美元)活动) - 事件对象, 这将传递给事件处理器作为参数 .

活动

事件对象.

  • 类型 (单位:千美元)string) - 事件类型
  • 数据 (单位:千美元)any) - 事件数据
  • 时间戳 (单位:千美元)number- 事件发射时的时标
  • 一次 (单位:千美元)boolean) - 这是一个曾经的事件,这意味着在事件发射后听从

许可证

MIT 许可证

版本与发布记录

@billjs/event-emitter 共发布 4 个版本,首次发布于 2018/12/11;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.0.3latest2018/12/137 年前
1.0.22018/12/117 年前
1.0.12018/12/117 年前
1.0.02018/12/117 年前

关于 @billjs/event-emitter 的常见问题

@billjs/event-emitter 是什么?

由 TypeScript 为Node.js 或浏览器制作的简单而轻量级事件Emiter.

如何安装 @billjs/event-emitter?

在项目目录运行 npm install @billjs/event-emitter,或使用 pnpm add / yarn add / bun add。

@billjs/event-emitter 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@billjs/event-emitter 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@billjs/event-emitter 可以商用吗?

@billjs/event-emitter 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@billjs/event-emitter 的下载量有多少?

根据 npm 官方下载统计,@billjs/event-emitter 在 2026/10/08 – 2026/11/06 这 30 天内被下载 5,334 次,日均约 178 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@billjs/event-emitter 还在维护吗?

最新版本 1.0.3 发布于 2018/12/13(7 年前);至今共发布 4 个版本,其中过去 12 个月发布了 0 个;首次发布于 2018/12/11。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。