Emitter
简体中文 | English
A small event emitter library.
Usage
import Emitter from 'tulp-emitter'
const emitter = new Emitter();
emitter.on('foo', function (p1, p2, p3) {
});
emitter.once('foo', function (p1, p2, p3) {
});
emitter.emit('foo', 'p1', 'p2', 'p3');
emitter.clear()
function fn() {}
emitter.on('foo', fn)
emitter.off('foo', fn)
API
on(name: string, callback: () => void)
-
Arguments
name
name of the eventcallback
event's callback function
-
Example
const emitter = new Emitter()
emitter.on('foo', (data) => {
console.log(data)
})
emitter.emit('foo', 1)
emitter.emit('foo', 2)
once(name: string, callback: () => void)
-
Arguments
name
name of the eventcallback
event's callback function
-
Example
const emitter = new Emitter()
emitter.once('foo', (data) => {
console.log(data)
})
emitter.emit('foo', 'a')
emitter.emit('foo', 'b')
emit(name: string, ...args: any[])
-
Arguments
name
name of the event...args (optional)
parameters passed in by the execution event
-
Example
const emitter = new Emitter()
emitter.once('bar', (message, name) => {
console.log(`${message}, ${name}`)
})
emitter.emit('bar', 'hi', 'Jack')
off(name: string, callback?: () => void)
-
Arguments
name
name of the eventcallback (optional)
functions that need to be cleared or function reference
-
Example
const emitter = new Emitter()
const fn = (message) => {
console.log(message)
}
emitter.on('bar', fn)
emitter.emit('bar', 'hi')
emitter.off('bar', fn)
emitter.emit('bar', 'Jack')
clear()
-
Calling this method will clear all events
-
Example
const emitter = new Emitter()
emitter.on('foo', (value) => {
console.log(value)
})
emitter.on('bar', (value) => {
console.log(value)
})
emitter.emit('foo', 'hi, foo')
emitter.emit('bar', 'hi, bar')
emitter.clear()
emitter.emit('foo', 'hi, Jack')
emitter.emit('bar', 'hi, Tom')