Получить значение асинхронной функции javascript

проверка переменных всегда возвращает 0, вызов authDefault.onAuthStateChanged в базу данных firebase после возврата функции, как исправить? я хочу получить значение в firebase и установить для проверки переменных

Получить значение асинхронной функции javascript

Вы уверены, что функция, устанавливающая check на 1 или 2, действительно вызывается?

Dacre Denny 08.06.2018 05:00

Да я уверен, он называется после возвращения

Long Đặng Duy 08.06.2018 05:07

Добро пожаловать в SO. Пожалуйста, подумайте о том, чтобы послушать @laptou, и даже если на ваш вопрос уже был дан ответ, отредактируйте его и позвольте людям, что было не так в вашем коде, не открывая изображение. Это поможет другим людям легко извлечь выгоду из вашей ошибки.

devserkan 08.06.2018 06:57
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
2
3
59
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Попробуй это:

async function checkLogin() {

    const check = await new Promise(function (resolve) {

        authDefault.onAuthStateChanged(function (user) {

            if (user) {
                resolve(1);
            }
            else {
                resolve(2);
            }
        });
    });

    return check;
}

да, он работает, но я не могу установить функцию значения для переменной. выдает i.stack.imgur.com/Pfvu7.png

Long Đặng Duy 08.06.2018 05:29

Если проблема с вашим исходным вопросом решена, отметьте вопрос как ответ

Dacre Denny 08.06.2018 05:32

пожалуйста, задайте другой вопрос к следующему выпуску, а не используйте его повторно

Dacre Denny 08.06.2018 05:33

Другие вопросы по теме