Nuxtjs и Firebase Auth: ожидайте firebase.auth (). CurrentUser не ждет? - PullRequest
0 голосов
/ 14 марта 2019

Nuxt.js предназначен для рендеринга на стороне сервера и имеет свойство asyncData, которое вызывается один раз перед загрузкой компонента страницы.

Я пытаюсь что-то вроде:

async asyncData({params}) {
    // firebase.auth().onAuthStateChanged((user)=>{ // <-- this doesn't work in the asyncData property
      let user = await firebase.auth().currentUser
      let info = {}
      console.log(user)

      user.uid === null // true
}

Два похожих вопроса:

есть решения, которые, кажется, не работают с nuxt ...

Я также пробовал:

function getCurrentUser(auth) {

  let userLoaded = false;
  return new Promise((resolve, reject) => {
     if (userLoaded) {
          resolve(firebase.auth().currentUser);
     }
     const unsubscribe = auth.onAuthStateChanged(user => {
        userLoaded = true;
        unsubscribe();
        resolve(user);
     }, reject);
  });
}

...