数日後に研究とテストをして、解決策を見つけました。
他の人が同じような問題を抱えている場合に備えて、私はこれを共有したいと思います。
コードは次のように自分で編集しました:
for (let iUser = 0; iUser < this.exchangeUsers.length; iUser++) {
let 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);
let calfolder = new FolderId(WellKnownFolderName.Calendar, new Mailbox(this.exchangeUsers[iUser].mail));
await this.exch.FindAppointments(calfolder, calView).then(
(liAppointments) => {
console.log(liAppointments);
}
).catch(
(err) => {
console.log(err);
});
説明:
私は、API Exchangeがsquenceに1で1コールしなければなりませんでした。 私はパラレルコールでこの作業を行うことはできませんでした。
コールを縮退させるには、1つのコールが完了するのを待たなければなりません。
この場合、キーワードが使用されます()。これにより、約束が解決されるまで実行が一時停止されます。
ユーザは、をで待機します。。関数が非同期であることをTypescriptに伝えるには、関数宣言の前にキーワードasyncを追加する必要があります。
あなたはこのhere
についての詳細を読むことができます。さらに私は、forループの正常でこれを使用する必要がありました。各ループ自体は関数を作成しますが、これにasync/awaitキーワードを追加しても、それを処理することはできません。
私はこの回答でsomoneの時間を節約できると思います。
誰かがこれを行うより洗練された方法を知っている場合は、私たちとあなたの知識を共有する自由落ちた。