0

在访问我的组件之前,我正在做一个解析器,如下所示:

 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 时,将事件设置为床的代码还没有结束?

4

0 回答 0