介绍
@migrate-to-esm/tiny-emitter 是一个小型的发布/订阅模式的事件处理器,它可以在客户端和服务器端使用,支持 ES modules 和 CommonJS。
安装
安装 npm 包:
npm install @migrate-to-esm/tiny-emitter
引入
ES modules:
import Emitter from '@migrate-to-esm/tiny-emitter';
CommonJS:
const Emitter = require('@migrate-to-esm/tiny-emitter');
API
new Emitter()
创建一个新的事件处理器实例。
const emitter = new Emitter();
emitter.on(event: string, listener: Function)
添加一个事件监听器。
emitter.on('event', () => console.log('Hello, World!'));
emitter.emit(event: string[, ...args])
触发一个事件并传递可选参数。
emitter.emit('event'); // Hello, World! emitter.emit('event', 1, 2, 3); // Hello, World! 1 2 3
emitter.off(event: string[, listener: Function])
移除一个事件监听器。
const listener = () => console.log('Hello, World!'); emitter.on('event', listener); emitter.off('event', listener);
emitter.once(event: string, listener: Function)
添加一个一次性的事件监听器。
emitter.once('event', () => console.log('Hello, World!')); emitter.emit('event'); // Hello, World! emitter.emit('event');
示例代码
-- -------------------- ---- ------- ------ ------- ---- ------------------------------- ----- ------- - --- ---------- ----- --------- - -- -- ------------------ ---- ----- --------- - -- -- ------------------ ---- -------------------- ----------- -------------------- ----------- ----------------------- -- ----- - --------------------- ----------- ----------------------- -- ----------- ----------------------- -- ----- - ---------------------- -- -- ---------------------- ----------------------- -- ----- ----------------------- -- -----------
总结
@migrate-to-esm/tiny-emitter 可以帮助开发者轻松地实现发布/订阅模式的事件处理器,其 API 易于理解和实现,同时支持 ES modules 和 CommonJS。在实际开发中,使用它可以提高代码的可读性和可维护性。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600668e7d9381d61a3540b3a