在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:event-emitter-target开源软件地址:https://gitee.com/masx200/event-emitter-target开源软件介绍:event-emitter-target发布订阅事件机制模块 用 Typescript 函数式编程写成 添加事件监听器有自动去重功能 事件触发时,监听器函数异步执行 安装模块yarn add https://github.com/masx200/event-emitter-target.git 导入模块import EventEmitterTargetClass from "@masx200/event-emitter-target"; 示例创建 1.当做函数使用 let emitter = EventEmitterTargetClass(); 2.当做类使用 class myemitter extends EventEmitterTargetClass {}let emitter = new myemitter(); 以下示例显示了 该 而该 emitter.on("event", () => { console.log("an event occurred!");});emitter.emit("event"); APIhttps://github.com/masx200/event-emitter-target/blob/master/dist/index.d.ts interface EventEmitterTargetConstructor { new (): EventEmitterTarget; (): EventEmitterTarget;}type EventEmitterTarget = ReturnType<typeof createEventEmitterTarget>;type EVENTNAME = string | symbol;type EVENTLISTENER = (event?: any) => void;declare function createEventEmitterTarget(): { [Symbol.toPrimitive]: typeof toprimitive; [Symbol.toStringTag]: string; [Symbol.iterator]: () => IterableIterator<[EVENTNAME, EVENTLISTENER[]]>; entries: () => IterableIterator<[EVENTNAME, EVENTLISTENER[]]>; listenerCount: (name: EVENTNAME) => number; clear: (name: EVENTNAME) => void; removeAllListeners: (name: EVENTNAME) => void; on: (name: EVENTNAME, callback: EVENTLISTENER) => void; addListener: (name: EVENTNAME, callback: EVENTLISTENER) => void; off: (name: EVENTNAME, callback: EVENTLISTENER) => void; removeListener: (name: EVENTNAME, callback: EVENTLISTENER) => void; once: (name: EVENTNAME, callback: EVENTLISTENER) => void; emit: (name: EVENTNAME, event?: any) => void; dispatch: (name: EVENTNAME, event?: any) => void; eventNames: () => EVENTNAME[]; listeners: (name: EVENTNAME) => EVENTLISTENER[];};declare function toprimitive(): string;
|
请发表评论