Marround
@Marround
Программист, администратор, хороший человек

Как вернуть данные полученные из колбэк функции?

Есть сервис который работает с базой, и возвращает в контроллер результат своей работы... внутри 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;
        }
    }
  • Вопрос задан
  • 22 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы