如何在實現單例設計模式的模塊上繼承events.EventEmitter方法?NodeJS - Singleton + Events
var EventEmitter = require('events').EventEmitter;
var Singleton = {};
util.inherits(Singleton, EventEmitter);
Singleton.createClient = function(options) {
this.url = options.url || null;
if(this.url === null) {
this.emit('error', 'Invalid url');
} else {
this.emit('created', true);
}
}
module.exports = Singleton;
這將導致錯誤:TypeError: Object #<Object> has no method 'emit'
用'''Singleton.prototype.createClient'''來添加我的例子中的函數。在app.js中'''var S = require('singleton.js')。getInstance(); S.createClient({url:'test'})。on('connected',function(){});'''不起作用'''TypeError:無法調用未定義的'on'方法 –
nevermind ,必須'''返回self'''鏈接工作:P thx! –