maj*_*odi 3 firebase angularfire angular google-cloud-firestore
使用AngularFire2我尝试从单个Firestore文档中获取数据.有效的是:
this.addressRef = afs.doc<Address>('addresses/key')
this.addressRef.valueChanges().subscribe(val => {......}
Run Code Online (Sandbox Code Playgroud)
我想只运行一次订阅代码.通常我使用take(1)来实现这一点(与Firebase DB一起使用).但是这段代码:
this.addressRef.valueChanges().take(1).subscribe(val => {......}
Run Code Online (Sandbox Code Playgroud)
给出错误:TypeError:this.addressRef.valueChanges(...).take不是函数.
VS Code列出了采取行动.这是AngularFire2中的一个错误,我做错了还是有其他(更好的)方法在获取数据后停止订阅?我也尝试过topromise,但这也失败了.
Dau*_*eDK 10
您可以通过执行以下操作来实现此目的:
user$ = this.afDs.doc<User>('users/NaGjauNy3vYOzp759xsc')
.valueChanges().pipe(
take(1) // Here you can limit to only emit once, using the take operator
)
Run Code Online (Sandbox Code Playgroud)
我已经为您提供了stackblitz:https://stackblitz.com/edit/angular-snnbwd
只需转到app/hello.component.ts即可查看代码.
| 归档时间: |
|
| 查看次数: |
5610 次 |
| 最近记录: |