Я делаю приложение на angular 7 с базой данных в Firestore, но чтобы избежать облачных функций, я решил использовать backend с NestJs (5) и использую транзакции firebase-admin для синхронизации синхронизированных встроенных данных. Кажется, что все работает хорошо, когда я провожу консультации, мой бэкэнд nestjs отвечает за их сбор и присоединение к ним, чтобы они отвечали на мою внешнюю заявку на английском языке. Но вот мой реальный вопрос: что мне нужно сделать, чтобы мой back-end в nestjs возвратил наблюдаемое в угловой интерфейс?
Чего я хочу добиться, так это чтобы мой фронт обнаруживал изменения в реальном времени в пожарном депо через мой бэкэнд в NestJs.
Введение Я делаю приложение на angular 7 с базой данных в Firestore, но чтобы избежать облачных функций, я решил использовать backend с NestJs (5) и использую транзакции firebase-admin для синхронизации синхронизированных встроенных данных. Кажется, что все работает хорошо, когда я провожу консультации, мой бэкэнд nestjs отвечает за их сбор и присоединение к ним, чтобы они отвечали на мою внешнюю заявку на английском языке. Но вот мой реальный вопрос: что мне нужно сделать, чтобы мой back-end в nestjs возвратил наблюдаемую угловую оболочку?
Чего я хочу добиться, так это чтобы мой фронт обнаруживал изменения в реальном времени в пожарном депо через мой бэкэнд в NestJs.
Я понимаю, что из NestJs мы можем вернуться в результате наблюдаемой, так что из angular вы подписываетесь на изменения в реальном времени.
Firestore -> Nestjs (работает в функциях Firebase) -> Angular (.subscribe)
Текущая функция в NestJs:
async getAllAdministratorsForFirestore(): Promise<Administrator[]> {
const administratorsSnapshot = await administratorsRef.get();
const administrators = [];
administratorsSnapshot.forEach(doc => {
administrators.push(mapFirestoreDocs(doc.id, doc.data()));
});
return administrators;
}
Текущий потребитель в Angular:
subscribeToAdministratorsForNestJs() {
this.http.get(nestJsEndPointUrl, options).subscribe((administrators) => {
this.administrators = administrators;
})
}
Чего я хочу добиться, так это чтобы мой фронт обнаруживал изменения в реальном времени в пожарном депо через мой бэкэнд в NestJ.
Но как мне это сделать?