Использование метода exec () при создании запроса - PullRequest
0 голосов
/ 16 сентября 2018

У меня есть ситуация, когда я хочу разместить всю бизнес-логику и обратные вызовы в одном месте и запросы мангуста в одном месте.Поэтому я использую метод .exec () для этой цели и обрабатываю его обратный вызов в сервисном модуле.Я успешно выполнил запрос на поиск с exec ()

модулем репозитория:

const findAUser = userName => {
    return Users.findOne({username: userName});
}

Сервисный модуль

repository.findAUser(user.username).exec((error, document) => {
            console.log(document);
            if(error) {
                rejectGeneric(reject);
            } else {
                  ..............................

Но я не могу добиться того же с помощью запроса на создание mongoose

const createAUser = user => {
    return Users.create(user);
}

И приведенный ниже код не работает

repository.createAUser(user).exec((error, document) => {
    ....................................
}

Как использовать метод exec ()на мангусте создать запрос?Есть ли способ добиться этого?

1 Ответ

0 голосов
/ 12 октября 2018

Я решил это с помощью опции обратного вызова, и мое разрешение выглядит так:

Репозиторий

    const createAUser = (user, callback) => {
        return Users.create(user, (error, document) => callback(error, document));
    }

Услуги

    repository.createAUser(user, (error, document) => {
        if(error) {
            // Do stuff for error handling
        } else {
            // Do stuff for success scenario
        }
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...