当我从数据库中获取数据时,它显示此错误:
“属性
subscribe
在类型Promise<any>
上不存在。”
如何解决此错误?
这是我的代码:
getUsers(){
return new Promise<any>((resolve, reject) => {
this.afs.collection('/users').snapshotChanges()
.subscribe(snapshots => {
resolve(snapshots)
})
})
}
答案 0 :(得分:1)
我认为在代码的其他地方,您正在尝试订阅getUsers()返回的诺言。与Observables不同,Promise不能被订阅。这里的更多信息:What is the difference between Promises and Observables?
我不知道您的Angular代码的总体目标,但我相信您应该能够摆脱:
getUsers(){
return this.afs.collection('/users'.snapshotChanges()
}
这将返回一个Observable,然后您可以订阅该Observable(或使用async
将显示的数据同步到数据库)。