@Lynatik001

Mongoose промисы и async — await(а до этого вобще пустоту возращало) а щас почему возращает промис?

async finduser(id) {
    const us = await UserScheme.findOne({ id });
    console.log('fck'); -- кстати это не отображает в консоли
    return us;
  }


checkAddUser(user) {
    console.log('us .');
    const ff = this.finduser(user.id);

    const res = ff.length ? ff[0].id : undefined;
    console.log('u3s .' + ff);
    if (res === undefined) {
      console.log(`${user.id} add new user`);
      this.adduser(user.id, user.first_name, user.last_name, user.username);
      return false;
    }
    if (ff[0].city != null) {
      return ff;
    }

    console.log(`${user.id} authorized`);
    return ff;
  }


Как еще ловить всяческие ошибки и тдп. грамотно тут в коде(гуглил читал, но вот под данную ситуацию не подходило(когда вообще функция пустоту возращала, + некакие консоль логи не работали после ее))

еще буду юзать moleculer. Может его средствами обрабатывать ошибки и прочее проще?
Кстати что возращает findOne, если не находит findOne?
  • Вопрос задан
  • 123 просмотра
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
async-функция возвращает Promise, так что в ff у вас не строка.
Чтобы получить строку, надо использовать await при вызове this.finduser, для чего объявить checkAddUser как async.
Ответ написан
@Lynatik001 Автор вопроса
если что, то решил траблу, у меня Eslint + prettier при автосейве сожрал типа не используемый обьект. а етот обьект инициализировал подключение к бд

Правда хз, че бл* не единой подсказки не писало.....
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы