'Observable <void>'不可分配给'Observable <task []>类型

时间:2018-09-04 10:35:03

标签: angular firebase google-cloud-firestore

我有以下代码抛出错误

taskToday: Observable<Task[]>;
    this.taskToday = Observable.fromPromise(this.dbCollectionService.taskCollection.ref.where('dueDate', '==', moment().startOf("day").toDate()).get().then(doc=>{
                doc.docChanges() .map(
                    d =>  { 
                      const task =  d.doc.data() as Task;
                      const id =  d.doc.id 
                      return { id, ...task};
                    }
                );
            }))

尝试很多,但是没有。

我是angular和firestore的新手,请帮助

2 个答案:

答案 0 :(得分:0)

您应该返回更改,

return doc.docChanges() .map(
                    d =>  { 
                      const task =  d.doc.data() as Task;
                      const id =  d.doc.id 
                      return { id, ...task};
                    }
                );

答案 1 :(得分:0)

您应该在函数内部返回这种类型。

next: getMovies(): Observable<Movie[]>{return this._http.get<Movie[]>(url_with_params); }

如果您的代码看起来像

this: getMovies(): Observable<Movie[]>{this._http.get<Movie[]>(url_with_params); }

您将收到有关void类型不可分配的错误