我正在使用AngularFire查询文档,并且试图返回使用onSnapshot()更改的文档数。
get_docChange_count(uid : string) : number {
return this.afs.collection('events').ref.where('uid', '==', uid).onSnapshot(res => {
return res.docChanges().length;
});
}
但是这会在我的VS代码编辑器中产生以下错误:
类型'()=>无效'不能分配给类型'数字'
我在这里做错了什么?
[onSnapshot
不会返回可转换的,因此您在回调内部返回的内容不会返回到外部。
相反,您可以像这样做出承诺:
return new Promise((resolve, reject) => {
this.afs.collection('events').ref.where('uid', '==', uid).onSnapshot(res => {
resolve(res.docChanges().length);
}, err => {
reject(err);
});