I'm using Angular Firestore to access a Cloud Firestore database and on almost all my get requests I apply rxjs take(1) operator on snapshotChanges() to not listening to data changes after request is complete.
For instance :
export class myCollectionService {
constructor(private db: AngularFirestore){}
getData(){
return this.db.collection<myCollection>("myCollection")
.snapshotChanges()
.pipe(take(1));
}
}
What happens when I call getData() a second time? Is data gotten from the server even if nothing changes since the previous call or is there some caching mechanism?