У меня есть этот класс в TypeScript, и когда я вызываю this.unitService
, я получаю сообщение об ошибке.
controller.ts
import { Request, Response } from "express";
import Unit from "../models/unit.model";
import Relation from "../models/relation.model";
import { TypeRelation } from "../models/typeralation.enum";
import { UnitService } from "../services/unit.service";
export class HomeController {
unitService: UnitService = new UnitService();
constructor() { }
forceCreateUnit(req: Request, res: Response): void {
const unit = "{ type: " + TypeRelation.USE + ", topUnit: new ObjectId(\"5adf231d85dded040f3f6d03\"), lowerUnit: new ObjectId(\"5adf231d85dded040f3f6d03\")}";
this.unitService.prueba();
res.send("OK");
}
}
unit.service.ts
import Relation from "../models/relation.model";
import { TypeRelation } from "../models/typeralation.enum";
import { ObjectId } from "bson";
export class UnitService {
constructor() {}
async forceGenerate(unit: String) {
const relation = new Relation(
{
type: TypeRelation.USE,
topUnit: new ObjectId("5adf231d85dded040f3f6d03"),
lowerUnit: new ObjectId("5adf231d85dded040f3f6d03")
}
);
await relation.save();
}
}
Однако, когда я добавляю new unitService()
в forceCreateUnit()
, это работает хорошо.Почему это так?
Я называю метод так:
const homeController: HomeController = new HomeController();
homeRoutes.get("/prueba", homeController.forceCreateUnit);