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