如何返回在Firebase中更改的文档数量?

问题描述 投票:0回答:1

我正在使用AngularFire查询文档,并且试图返回使用onSnapshot()更改的文档数。

get_docChange_count(uid : string) : number  {
      return this.afs.collection('events').ref.where('uid', '==', uid).onSnapshot(res => {
            return res.docChanges().length;
       });
  }

但是这会在我的VS代码编辑器中产生以下错误:

类型'()=>无效'不能分配给类型'数字'

我在这里做错了什么?

firebase google-cloud-firestore angularfire
1个回答
0
投票

[onSnapshot不会返回可转换的,因此您在回调内部返回的内容不会返回到外部。

相反,您可以像这样做出承诺:

return new Promise((resolve, reject) => {
  this.afs.collection('events').ref.where('uid', '==', uid).onSnapshot(res => {
    resolve(res.docChanges().length);
  }, err => {
    reject(err);
  });
© www.soinside.com 2019 - 2024. All rights reserved.