diff --git a/src/webparts/stroyBot/services/http/spfxClients.ts b/src/webparts/stroyBot/services/http/spfxClients.ts index 18e3355..f2a6d7b 100644 --- a/src/webparts/stroyBot/services/http/spfxClients.ts +++ b/src/webparts/stroyBot/services/http/spfxClients.ts @@ -23,9 +23,14 @@ export function createSharePointClient(context: WebPartContext): IHttpClient { export function createAadClient(context: WebPartContext, resource: string): IHttpClient { let clientPromise: Promise | undefined; + // Неудачную попытку не запоминаем: иначе одна сетевая осечка при получении токена + // ломала бы все запросы к этому ресурсу до перезагрузки страницы. const getClient = (): Promise => { if (!clientPromise) { - clientPromise = context.aadHttpClientFactory.getClient(resource); + clientPromise = context.aadHttpClientFactory.getClient(resource).catch((error: unknown) => { + clientPromise = undefined; + throw error; + }); } return clientPromise; };