0

我正在尝试将 firebase/firestore 与 Nuxt asyncData() 一起使用,由于某种原因,我的数据根本没有被返回。控制台中也没有错误

有人发现什么吗?

这是我的代码:

索引.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.'
      })
    }
  },

这是我的开发工具屏幕:

在此处输入图像描述

4

1 回答 1

0

我似乎已经让它工作了。我不得不这样写:

  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.'
      })
    }
  },
于 2020-07-09T11:38:56.270 回答