Nuxt - result.forEach не является функцией? - PullRequest
0 голосов
/ 21 января 2019

Итак, я сейчас пытаюсь извлечь данные из Nuxt из Cloud Firestore через:

async asyncData(){

    return firebase.firestore().collection('test').doc().get()
      .then((result) => {

        result.forEach(doc => {

          console.log(doc.data())          
        })       
      })
  }

, что приводит к следующей ошибке:

async asyncData() {
    return _plugins_firebase_config__WEBPACK_IMPORTED_MODULE_0__["default"].firestore().collection('test').doc().get().then(result => {
      result.forEach(doc => {
        console.log(doc.data());
      });
    });
  }

с сообщением об ошибке:

TypeError
result.forEach is not a function

Вытягивание данных без forEach работает нормально.Так что, если я указываю документ по имени и получаю данные только для одного документа, все работает как положено.Однако, так как мне нужен весь набор данных, я должен разделить данные через forEach.Есть идеи, что может вызвать это?Тот же пример работает в самом VueJS просто отлично.

Я использовал nuxt cli для генерации нового проекта, поэтому настройка проекта должна быть в порядке.

1 Ответ

0 голосов
/ 21 января 2019

Сначала получите и измените Ваши данные, затем верните их.

Измените Ваш код так, чтобы он выглядел так:

async asyncData () {

    let data = []

    await firebase.firestore()
    .collection('test')
    .doc()
    .get()
    .then((result) => {
      result.forEach(doc => {

        data.push(doc.data())    

      })       
    })

    return data
}
...