【问题标题】:Angularfire error: "Property 'subscribe' does not exist on type 'Promise<any>'."Angularfire 错误:“类型 'Promise<any>' 上不存在属性 'subscribe'。”
【发布时间】:2019-12-26 13:01:24
【问题描述】:

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

“subscribe 类型不存在属性 Promise&lt;any&gt;。”

我该如何解决这个错误?

这是我的代码:

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

【问题讨论】:

  • 看this。您正在执行的方法不会立即完成运行,因此您必须等待结果

标签: angular firebase google-cloud-firestore angularfire


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 2020-11-01
    • 2017-10-20
    • 1970-01-01
    • 2018-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-13
    • 2018-01-29
    相关资源
    最近更新 更多