Почему один логин Firebase Auth прожигает 21 операцию чтения из БД? - PullRequest
0 голосов
/ 23 января 2020

После сброса ежедневного периода времени я протестировал некоторые операции аутентификации, в которых я вообще не использую Firebase.Firestore. Все, что я делал, это вход в систему, а затем выход из системы Стоит отметить, что после аутентификации еще нет ЛЮБЫХ слушателей или каких-либо других операций Firestore. в потоке регистрации существуют только операции с пожарным хранилищем.

вот действие по входу в систему:

export const loginUser = (email, password) => {
    return (dispatch) => {
        dispatch({ type: types.LOGIN_USER });
        // listen for change in auth state before signing in
        return new Promise((resolve, reject) => {
            firebase
                .auth()
                .signInWithEmailAndPassword(email, password)
                .then((userCredential) => {
                    console.log('User Credential: ' + JSON.stringify(userCredential));
                    const unsubscribe = firebase.auth().onAuthStateChanged((user) => {
                        if (user) {
                            console.log('Logged in: ' + user.email);
                            loginUserSuccess(dispatch, user);
                            resolve(user);
                        } else {
                            console.log('Authentication state changed, user object is null...');
                        }
                    });
                    // No longer need to listen to auth state
                    unsubscribe();
                })
                .catch((error) => {
                    console.log('Error during Email sign-in: ' + error);
                    loginUserFail(dispatch, error.message);
                });
        });
    };
};

(loginUserSuccess / отправка только из-за сбоя на преобразователь ничего больше)

при выходе из системы выполняется следующее действие:

export const logoutUser = () => {
    return (dispatch) => {
        return new Promise((resolve, reject) => {
            firebase
                .auth()
                .signOut()
                .then(() => {
                    dispatch({ type: types.RESET_AUTH });
                    console.log('Dispatching types.RESET_AUTH');
                    resolve();
                })
                .catch((error) => reject(error.message));
        });
    };
};

Использование Firestore до этого теста было равным 0. Данные об использовании после этого одного цикла входа / выхода:

reads: 21
writes: 0
deletes: 0
peak connections: 0

Что здесь происходит. .. почему это стоило 21 чтения? если вам нужна дополнительная информация, спросите. единственное, что я заметил, - это userCredential, который я регистрирую, имеет ровно 22 свойства объекта (не 21, но подозрительно близко). но если обещанные пользовательские учетные данные являются причиной того, что все эти чтения БД ... это имеет нулевой смысл

РЕДАКТИРОВАТЬ: без выполнения каких-либо других тестов && обновления страницы использования пожарного хранилища, оно изменилось на 22 чтения!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...