Angularfire错误:“类型'Promise <any>'上不存在属性'subscribe'。”

时间:2019-08-21 09:22:00

标签: angular firebase google-cloud-firestore angularfire

当我从数据库中获取数据时,它显示此错误:

  

“属性subscribe在类型Promise<any>上不存在。”

如何解决此错误?

这是我的代码:

getUsers(){
    return new Promise<any>((resolve, reject) => {
      this.afs.collection('/users').snapshotChanges()
      .subscribe(snapshots => {
        resolve(snapshots)
      })
    })
  }

1 个答案:

答案 0 :(得分:1)

我认为在代码的其他地方,您正在尝试订阅getUsers()返回的诺言。与Observables不同,Promise不能被订阅。这里的更多信息:What is the difference between Promises and Observables?

我不知道您的Angular代码的总体目标,但我相信您应该能够摆脱:

getUsers(){
    return this.afs.collection('/users'.snapshotChanges()
}

这将返回一个Observable,然后您可以订阅该Observable(或使用async将显示的数据同步到数据库)。