扫一扫分享
Mitt是一个微型的 EventEmitter 库,实现了基本的 on, off, emit 三个api,对于使用 EventEmitter 其他功能不多的同学来说,200byte 的体积可以说是非常划算了。
当然小也有其付出的代价,那就是只支持这三个功能。 至于怎么取舍,见仁见智吧,我建议是先使用 mitt,就算后期要更换别的库,因为 Api 统一,所以更换起来基本不费事。
import mitt from 'mitt'
const emitter = mitt()
// listen to an event
emitter.on('foo', e => console.log('foo', e) )
// listen to all events
emitter.on('*', (type, e) => console.log(type, e) )
// fire an event
emitter.emit('foo', { a: 'b' })
// clearing all events
emitter.all.clear()
// working with handler references:
function onFoo() {}
emitter.on('foo', onFoo) // listen
emitter.off('foo', onFoo) // unlisten
手机预览