在访问我的组件之前,我正在做一个解析器,如下所示:
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;
});
但是在我的组件中,当我获得对象“房间”时,尚未设置有关床和日历事件的信息。
如果我做
console.log(bed.events.length);
我总是得到 0,但如果我控制台记录我的“房间”对象,我实际上在我的床对象中有事件。所以我想当我控制台记录我的 events.length 时,将事件设置为床的代码还没有结束?