Có thể sử dụng NodeJS 'events.EventEmitter
với lớp TypeScript không? Nếu có, làm thế nào?NodeJS EventEmitter với lớp TypeScript
Tôi đã thử vô số biến thể trong những giờ qua để làm việc này, vì vậy tôi sẽ không liệt kê bất kỳ biến thể nào trong số đó.
Những gì tôi về cơ bản muốn làm:
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');
});
}
}
Nhưng tôi kinda cần phải mở rộng các lớp, để tôi có thể sử dụng '.Trên()' vv trên trường hợp của tôi, phải không? 'lỗi TS2339: Thuộc tính 'trên' không tồn tại trên loại 'Cơ sở dữ liệu'.' – Brettetete
Bạn có thể thử mã đã sửa đổi không? –
Tính năng này hoạt động trong phiên bản của bạn, nhưng không có trong hàm gọi lại của tôi. Tôi không cảm thấy thoải mái với OOP JS. Vì vậy, tôi đã thêm 'var that = this;' và được sử dụng 'that.emit' trong hàm gọi lại của tôi, hoạt động - Tôi đoán đó là tiền phạt – Brettetete