Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@wxwzl/eventemitter

wxwzl11MIT1.0.1TypeScript support: included

typescript Event Emitter

eventemitter, typescript

readme

@wxwzl/eventemitter

typescript 版 EventEmitter

安装

npm i @wxwzl/eventemitter -S

使用

  import EventEmitter from "@wxwzl/eventemitter";

  let  emitter = new EventEmitter();
  //监听一次
  emitter.once("test",(data)=>{
    console.log("test",data);
  });
  //持续监听
  let testCallBack = (data)=>{
    console.log("testCallBack",data);
  }

  //阻止后续添加的事件对emit、emitOneCopy 发出的事件的处理,通过事件处理函数返回true
  let stopCallBack = (data)=>{
    console.log("stopCallBack",data);
    return true;
  }
  emitter.on("testCallBack",testCallBack);

  //同时监听多个事件
  emitter.on(["testCallBack","test"],testCallBack);

  //监听固定次数
  let testTimeCallBack = ()=>{
    console.log("testCallBack",data);
  }
  emitter.on("testTimeCallBack",testTimeCallBack,undefined,3);

  //移除某个事件的监听
  emitter.off("testTimeCallBack");

  //移除某个事件的某个处理函数
  emitter.off("testTimeCallBack",testTimeCallBack);

   //移除所有监听函数
  emitter.clear();

  // 同时支持链式调用

  emitter.on("test",()=>{}).off("test).clear();


  // 为每一个事件监听函数派发事件,事件监听函数收到的事件参数将是发送事件参数的一份拷贝
  emitter.emitOneCopy("testCallBack",{a:1});

  //广播事件,确保让所有事件处理函数都执行,让某些事件处理函数不会受到在它之前添加的事件处理函数返回true而没有收到事件的影响
  emitter.broadCast("testCallBack",{a:1});

  //广播事件,确保让所有事件处理函数都执行,让某些事件处理函数不会受到在它之前添加的事件处理函数返回true而没有收到事件的影响
  //事件监听函数收到的事件参数将是发送事件参数的一份拷贝
  emitter.broadCastOneCopy("testCallBack",{a:1});

文档

Documentation generated from source files by Typedoc.