查看emitter.js

on: 添加一个事件监听器,支持链式调用 emitter.on(eventName, listener)

off: 删除一个事件监听器,支持链式调用 emitter.off(eventName, listener)

once: 添加一个只能触发一次的事件监听器,支持链式调用 emitter.once(eventName, listener)

emit: 触发事件,支持链式调用 emitter.emit(eventName, args)

allOff: 删除某个事件或者所有事件 emitter.allOff(eventName)

var emitter = new EventEmitter();

function handleOne(a, b, c) { console.log('第一个监听函数', a, b, c) }

function handleSecond(a, b, c) { console.log('第二个监听函数', a, b, c) }

function handleThird(a, b, c) { console.log('第三个监听函数', a, b, c) }

emitter.on("demo", handleOne) .once("demo", handleSecond) .on("demo", handleThird);

emitter.emit('demo', [1, 2, 3]); // => 第一个监听函数 1 2 3 // => 第二个监听函数 1 2 3 // => 第三个监听函数 1 2 3

emitter.off('demo', handleThird); emitter.emit('demo', [1, 2, 3]); // => 第一个监听函数 1 2 3

emitter.allOff(); emitter.emit('demo', [1, 2, 3]); // nothing