【发布时间】:2012-09-17 20:11:13
【问题描述】:
给定一个任意对象,我想让它成为一个 EventEmitter:
var obj = {}
// mixin eventemitter
obj.on('event', ...)
obj.emit('event')
另外,当我输入 obj 时,我不希望它将 EventEmitter 方法显示为方法。例如通过 CLI:
> obj
{}
因此,我现在正在做:
function mixinEventEmitter(obj) {
obj.__proto__ = EventEmitter.prototype
return obj
}
但人们说使用__proto__ 是一种反模式:Node.js - inheriting from EventEmitter
我做得对吗?你有更好的方法吗?谢谢。
【问题讨论】:
标签: node.js events eventemitter