JavaScript 手写实现发布订阅事件处理器

本文介绍如何手写实现JavaScript的发布订阅事件处理器,包括源码解析和具体使用步骤,如从npm下载或直接应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JavaScript 手写实现发布订阅事件处理器

1、源码实现

type Listener<T = any> = (p: T) => void

type Listeners = Record<string, Listener[]>;

export type {
   
   
  Listener,
  Listeners,
}

export interface event {
   
   
  type: string;
  target: this;
  [attachment: string]: any;
}

/**
 * 事件派发器
 */
class EventDispatcher {
   
   

  private listeners: Listeners;

  constructor() {
   
   
    this.listeners = {
   
   };
  }

  /**
   * 添加监听事件
   * @param type 
   * @param listener 
   */
  addEventListener(type: string | string[], listener: Listener) {
   
   
    if (Array.isArray(type)) {
   
   
      type
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值