角解析器,对象在组件中未准备好

时间:2018-09-10 09:31:04

标签: angular angular-resolver

在访问组件之前,我正在做一个解析器,就像这样:

 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的代码还没有结束?

0 个答案:

没有答案