AngularFire Firestore的get / snapshotChanges / valueChanges操作返回的是Observable对象,这些操作在observable上是异步的。你可以使用异步操作符(如subscribe)来订阅这些Observable并获取数据。
下面是一个示例代码,展示如何使用AngularFire Firestore的get操作来异步获取数据:
import { Component } from '@angular/core';
import { AngularFirestore } from '@angular/fire/firestore';
@Component({
selector: 'app-my-component',
template: `
{{ data }}
`
})
export class MyComponent {
data$: Observable;
constructor(private firestore: AngularFirestore) {
this.data$ = this.firestore.collection('myCollection').doc('myDocument').get().pipe(
map(snapshot => snapshot.data())
);
}
}
在上面的代码中,我们使用AngularFirestore的get方法来获取一个文档的数据。通过使用async管道,我们可以直接在模板中订阅Observable并异步获取数据。
类似地,你也可以使用snapshotChanges和valueChanges来获取集合的快照变化或值变化。只需更改get操作为snapshotChanges或valueChanges即可。
希望这个示例能帮助你理解AngularFire Firestore操作在observable上的异步特性。