В моем приложении Angular / Firebase / GraphQL у меня следующий запрос:
async getAllCategories() {
return await tryCatchWithApolloErrorAsync(async () => {
const categories = await adminService
.firestore()
.collection(api.categories)
.get();
return categories.docs.map(category => category.data()) as Category[];
})
}
Этот запрос возвращает всю коллекцию, когда я вызываю ее в моем компоненте:
ngOnInit() {
this._categories = this.categoriesService.getAllCategories().pipe(
take(1)
).subscribe((categories: Category[]) => {
this.categories = categories
})
}
Но когда коллекция была изменена, например, если некоторые элементы были удалены или отредактированы, мне нужно обновить страницу sh, чтобы получить новую коллекцию.
Как сделать так, чтобы компонент всегда получал последнюю версию коллекции?