createUserWithEmailAndPassword VUEJS ошибка обновления профиля пользователя - PullRequest
0 голосов
/ 21 февраля 2020

У меня есть эта проблема с приложением firebase, которое я также разрабатываю, мои намерения состоят в том, чтобы создать пользователя и обновить его профиль именем, используя метод firebase createUserWithEmailAndPassword. Я развиваю процесс, и в конце концов он работает, но также выдает ошибку, которая говорит:
в например (auth.esm. js? Xxx)
в k c (auth.esm. js? Xxxxx)
в g c (auth.esm. js? xxxxxx)
в BkZb (auth.esm. js? xxxxxx)
в Qb (auth.esm. js? xxxx)

несмотря на то, что он уже был изменен пользовательская информация, тогда мне нужно обновить sh страницу, чтобы эта ошибка исчезла. Вот часть моего кода:

        signUserUp({ commit }, payload) {
           commit("settingLoader", true);
           firebase
             .auth()
             .createUserWithEmailAndPassword(payload.email, payload.password)
             .then(() => {
               let user = firebase.auth().currentUser;
               console.log(user);
               user
                 .updateProfile({
                   displayName: payload.name
                 })
                 .then(usermod => {
                     const User = {
                     id:usermod.user.uid,              undefined usermod
                     email:usermod.user.email,         undefined usermod
                     name:usermod.user.displayName     undefined usermod
                   };
                   commit("settingUserIn", User);
                   commit("settingLoader", false);
                 });
             })
             .catch(error => {
               console.log(error);
               commit("settingLoader", false);
             });
         }

Тогда ошибка ссылается на возможный неопределенный «usermod» для user.uid, user.displayName и user.email. Любой совет о том, что мне не хватает? заранее спасибо !!

1 Ответ

0 голосов
/ 21 февраля 2020

https://firebase.google.com/docs/reference/js/firebase.User#updateprofile

Метод Firebase user.updateProfile возвращает пустое обещание, то есть возвращает обещание без значения.

У вас все еще есть доступ к переменной user в вашем then, так почему бы просто не изменить ее на

...
   user
                 .updateProfile({
                   displayName: payload.name
                 })
                 .then(() => {
                     const User = {
                     id: user.uid,              
                     email: user.email,        
                     name:user.displayName
                   };
                   commit("settingUserIn", User);
                   commit("settingLoader", false);
                 });
...
...