当前位置 : 主页 > 网页制作 > Nodejs >

node.js – 使用__proto__的Mixin EventEmitter方法

来源:互联网 收集:自由互联 发布时间:2021-06-16
给定一个任意对象,我想让它成为一个EventEmitter: var obj = {}// mixin eventemitterobj.on('event', ...)obj.emit('event') 此外,当我输入obj时,我不希望它将EventEmitter方法显示为方法.来自CLI: obj{} 因此,现
给定一个任意对象,我想让它成为一个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

我做得对吗?你有更好的方法吗?谢谢.

通常的方法是使用 util.inherits(链接的文档包含一个几乎完全符合您要求的示例).
网友评论