Я получаю сообщение об ошибке "Типы спреда могут быть созданы только из объекта types.ts (2698)" - PullRequest
0 голосов
/ 26 февраля 2020
import { Injectable } from '@angular/core';
import { AngularFirestore } from '@angular/fire/firestore';
import { map } from 'rxjs/operators';

@Injectable({
  providedIn: 'root'
})
export class FirestoreDbService {

  constructor(private db: AngularFirestore) { }

  getBuildList() {
    // return this.db.collection('Builds').valueChanges();
    return this.db.collection('Builds').snapshotChanges().pipe(
      map(docArray => {
        return docArray.map(doc => {
          console.log('==', doc.payload.doc.id);
          console.log('$==$', doc.payload.doc.data());
          return{
            id: doc.payload.doc.id,
            ... doc.payload.doc.data()
          }
        })
      })
    )
  }
}

В последней строке я получаю сообщение об ошибке. Я думаю, что это как-то связано с машинописью. Любая помощь приветствуется

1 Ответ

2 голосов
/ 26 февраля 2020

Используйте ключевое слово as:

... doc.payload.doc.data() as {} 

Это скажет компилятору обрабатывать doc.payload.doc.data() как объект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...