Я новичок в Node.js и пытаюсь реализовать обобщение для классов обслуживания и дао.
У меня есть метод findOne в классе BaseDAO, который мне нужно вызвать из класса BaseService.Я не получаю никаких ошибок компиляции, но также не получаю никакого результата.Ниже приведен код для моего BaseDAO, BaseService, UserDAO и UserService.
BaseDAO.ts `import {Repository} из" typeorm ";
экспорт абстрактного класса BaseDAO расширяет репозиторий {
abstract getRepository(): Repository<T>;
async search(data: any) {
return await this.find(data);
}
async findOne(data: any) {
return await this.getRepository().findOne(data);
}
}`
BaseService.ts `import {BaseDAO} из" ../repository/BaseDAO";
экспорт абстрактного класса BaseService {
protected sessionInfo: any;
protected dao: BaseDAO<T>;
constructor(dao: BaseDAO<T>) {
this.dao = dao;
}
async search(item: any) {
try {
return await this.dao.search(item);
} catch (error) {
throw error;
}
}
async findOne(data: any) {
console.log(this.dao);
return await this.dao.findOne(data);
}
} `
UserDAO.ts` import{BaseDAO} от "./BaseDAO";import {User} из "../entity/User";import {getRepository, Repository} из "typeorm";
класс экспорта UserDAO расширяет BaseDAO {
getRepository() {
return getRepository(User);
}
} `
UserService.ts` import {BaseService} from ""./BaseService ";импортировать {UserDAO} из "../repository/UserDAO";import {User} из "../entity/User";
класс экспорта UserService extends BaseService {
constructor() {
super(new UserDAO());
}
}`