Nuxt и Firebase / FireStore: не удается вернуть данные при использовании asyncData () и onSnapshot () - PullRequest
0 голосов
/ 09 июля 2020

Я пытаюсь использовать firebase / firestore с Nuxt asyncData (), и по какой-то причине мои данные вообще не возвращаются. В консоли ошибок нет. .

Кто-нибудь что-нибудь заметит?

Вот мой код:

index. vue

  async asyncData({ app, error }) {
    const docRef = await app.$fireStore.collection('photos')
    try {
      docRef.onSnapshot((snapShot) => {
        const snapData = []
        snapShot.forEach((doc) => {
          snapData.push(doc.data())
        })
        return {
          snapData
        }
      })
    } catch (e) {
      error({
        statusCode: 503,
        message: 'Unable to fetch posts at this time. Please try again.'
      })
    }
  },

Вот мой экран с инструментами разработчика:

введите описание изображения здесь

1 Ответ

0 голосов
/ 09 июля 2020

Кажется, у меня все заработало. Пришлось написать так:

  async asyncData({ app, error }) {
    const photosArr = []
    const docRef = await app.$fireStore.collection('photos')
    try {
      docRef.onSnapshot((querySnapshot) => {
        querySnapshot.forEach((doc) => {
          photosArr.push(doc.data())
        })
      })
      return {
        photos: photosArr
      }
    } catch (e) {
      error({
        statusCode: 503,
        message: 'Unable to fetch posts at this time. Please try again.'
      })
    }
  },
...