Asyn c функция, возвращающая неопределенную переменную - PullRequest
0 голосов
/ 29 марта 2020

Я пытаюсь вернуть логическое значение из асинхронной c функции, но она выглядит как undefined.

checkIfEmptyDb = async => {
    var ref = firebase.database().ref("dynamicDb");
    ref.once("value").then(snapshot => {
      const a = snapshot.exists();
      console.log(a); // false
      return a;
    });
  };

  getRandomWordFromDb = async () => {
    let moreWords = await this.checkIfEmptyDb();
    console.log("moreWords", moreWords); //UNDEFINED

. Мое решение пока состоит в том, чтобы установить состояние реакции. приложение в функции checkIfEmptyDb, которая затем может быть вызвана в getRandomWordFromDb ..

Заранее спасибо!

1 Ответ

1 голос
/ 29 марта 2020

Вам необходимо вернуть значение обещания:

  checkIfEmptyDb = async => {
    var ref = firebase.database().ref("dynamicDb");
    return ref.once("value").then(snapshot => {
      const a = snapshot.exists();
      console.log(a); // false
      return a;
    });
  };
...