Есть сервис который работает с базой, и возвращает в контроллер результат своей работы... внутри ODM mongoose в которой есть асинхронный метод save который принимает в качестве аргументов по мимо прочего коллбэк функцию, в котоорой я обрабатываю результат сохранения генеррирую нужный мне ответ !!! и вот в этот момент возникает вопрос КАК мне получить результат этой работы коллбэк функции????
async createService(createService: ServicesDto): Promise<ServicesOutsideDto> {
try {
const createdService = new this.servicesModel(createService);
let res: IServices;
createdService.save(async(err) => {
try {
if(!err) {
return await this.servicesModel.findOne({'_id': createdService._id}).populate('banner').exec();
}else throw err;
}catch (error) {
throw error;
}
}).then((data) => {
res = data;
});
return plainToClass<ServicesOutsideDto, object>(
ServicesOutsideDto,
res.toObject(),
{excludePrefixes: ["_"]}
);
}catch (error) {
if(error && error.name === 'ValidationError'){
throw new BadRequestException(error);
} else throw error;
}
}