Проблема в том, что вы вызываете get()
для самого класса , вместо того, чтобы вызывать его для экземпляра класса. Попробуйте создать экземпляр CategoryController
, например так:
cc = new CategoryController();
Затем вы сможете вызвать:
cc.get();
Демонстрация в приведенном ниже коде (так же, как у вас, просто немного изменен, чтобы отразить мою точку зрения).
// ===================CommonController==========================
class CommonController {
constructor(service) {
this.service = service;
}
async get () {
console.log(this); // it returns undefined
}
}
// ===================CommonService==========================
class CommonService {
constructor(model, dto) {
this.model = model;
this.dto = dto;
}
}
// ===================CategoryService==========================
class CategoryService extends CommonService {
constructor() {
super(Category, dto);
}
}
class CategoryController extends CommonController {
constructor() {
super(CategoryService);
}
}
cs = new CategoryController();
cs.get();