여러 사용자를 위해 온라인 Exchange에서 모든 약속을 가져 오려고합니다.Typescript EWS 루프 다중 사용자 달력
단일 사용자의 경우 이는 별 문제가되지 않습니다.
이 경우 TypeScript와 EWS API를 ts ews api에서 사용했습니다.
이제 단일 사용자 솔루션을 여러 사용자에게 적용하려고했습니다.
이 사용자는 배열에 저장됩니다. 그래서 배열을 반복하고 각 사용자가 교환을 호출하여 약속을 잡습니다.
this.exchangeUsers.forEach((userObj) => {
const resultObservables = [];//Collect Observable Results in an Array
calView = new CalendarView(new DateTime(view.start), new DateTime(view.end));// Create Calender View Exchange Web Service
calView.PropertySet = new PropertySet(AppointmentSchema.Subject, AppointmentSchema.Start, AppointmentSchema.End, AppointmentSchema.IsAllDayEvent);
calfolder = new FolderId(WellKnownFolderName.Calendar, new Mailbox(userObj.mail));
this.exch.FindAppointments(calfolder, calView).then(
(liAppointments) => {
console.log(liAppointments);
}
);
});
하지만 콘솔에 하나의 로그 만 표시됩니다. 하지만 this.exchangeUsers에는 4 개의 객체가 포함되어 있어야합니다.
루프가 약속을 기다리지 않고 모든 약속이 마지막 사용자의 참조를 가져 왔지만 콘솔 로그에 4 개의 항목이 없어야한다는 것을 알고 있습니다.