Я делаю распознаватель перед доступом к своему компоненту, например:
return this.unitService.getRoomsByUnitId(unitId)
.map(rooms => {
rooms.map((room: Room) => {
room.beds.map(bed => {
bed.events = new Array();
this.patientStayService.getPatientsBedOccupancyForDateRange(unitId, startDate, endDate)
.subscribe(patientStays => {
patientStays.map(patient => {
if (bed.id === patient.bedId) {
let calendarEvent: CalendarEvent = new CalendarEvent();
calendarEvent.patientStay = patient;
calendarEvent.startDate = patient.admissionPlannedDate;
calendarEvent.endDate = patient.earlyDischargeDate;
bed.events.push(calendarEvent);
}
});
});
});
});
return rooms;
});
Но в моем компоненте, когда я получаю объект "комнаты", информация о кровати и calendarEvent еще не установлены.
Если я делаю
console.log(bed.events.length);
Я всегда получаю 0, но если я запишу в журнал свой объект "комнаты", у меня действительно будут события в моем объекте кровати. Так что я думаю, что когда я утешаю журнал событий events.length, код для установки событий в постель еще не закончился?