У меня два наблюдения angularFireList и пациентов. Назначение содержит информацию о пациенте. Я хочу взять все данные о приеме и соответствующих данных о пациенте и объединить их, чтобы сформировать новый наблюдаемый AppointedPatient []. Ниже код работал нормально с HttpClient, но когда я обновил использовать AngularFire, он больше не работает.
getAppointments() {
this.appointmentService.fetchAllAppointments()
.pipe(
take(1),
switchMap(appointments => {
const appointedPatients: AppointedPatient[] = [];
for (const appointment of appointments) {
const appointmentDate = new Date(appointment.appointmentDateTime);
const appointmentDateOnly = new Date(appointmentDate.setHours(0, 0, 0, 0));
const newAppointment$: any = this.patientsService.getPatient(appointment.patientId)
.pipe(
switchMap((patient) => of(new AppointedPatient(
appointment.appointmentId,
patient.firstName,
patient.lastName,
patient.address,
patient.casePaperNumber,
patient.mobileNumber,
appointment.appointmentDateTime,
appointmentDateOnly
))
)
);
appointedPatients.push(newAppointment$);
}
return forkJoin(appointedPatients);
})
).subscribe(data => console.log(data));
}