Bir TypeScript sınıfıyla NodeJS 'events.EventEmitter
kullanmak mümkün mü? Evet ise nasıl?TypeScript sınıfıyla NodeJS EventEmitter
Bu çalışma için son saatlerde sayısız varyasyon denedim, bu yüzden bunlardan hiçbirini listelemem.
$ tsd install node --save
ve sonra sadece şu kodu kullanın:
///<reference path="./typings/node/node.d.ts" />
import events = require('events');
class Database{
constructor() {
events.EventEmitter.call(this);
}
}
ben bunu basitleştirilmiş
export class Database{
constructor(cfg:IDatabaseConfiguration) {
// events.EventEmitter.call(this);
mongoose.connect(cfg.getConnectionString(), cfg.getCredentials(), function (err:any) {
if (err)
this.emit('error', err);
else
this.emit('ready');
});
}
}
Ama sanırım ben ('.sistem kullanabilmesi için, sınıfını genişletmek gerekir)' benim örneğimde, değil mi? 'hata TS2339: 'Veritabanı' türünde 'özellik yok' özelliği yok. – Brettetete
Değiştirilen kodu deneyebilir misiniz? –
Bu, sürümünüzde çalışır, ancak geri aramamda değil. OOP JS ile çok rahat değilim. Bu yüzden şunu ekledim: var bu = ve 'that.emit'i kullandım geri çağırmada işe yaradı - sanırım bu iyi – Brettetete