【发布时间】:2016-06-28 23:29:46
【问题描述】:
function Auth() {
console.log('Created!')
}
Auth.prototype.authenticate = function () {
// do stuff
this.emit('completed')
}
util.inherits(Auth, EventEmitter)
如何在其他函数中调用 Auth.emit('someEvent')?例如:
function someOther () {
//do stuff
Auth.emit('event')
}
它会抛出一个错误:
Auth.emit 不是函数
【问题讨论】:
-
你需要先创建一个
Auth的实例。或者不使用原型函数。 -
@zerkms ,好的,但它是模块(我让用户在需要模块时创建它的新实例),所以我可以将这个 someOther 函数移动到类中。但是,我需要在创建该类的新实例之前调用函数。我怎样才能做到这一点?有可能吗?
-
嗯,没有实例是不可能调用实例方法的。你需要重新考虑你需要做什么以及如何做。
-
@zerkms,有什么想法(pastebin.com/V84MH4cR)?
-
当然:如果没有实例,就不要调用实例方法。
标签: javascript node.js inheritance eventemitter