diff --git a/sdk/ai/ai-projects/src/api/memoryStores/memoryStoreUpdatePoller.ts b/sdk/ai/ai-projects/src/api/memoryStores/memoryStoreUpdatePoller.ts index a3c456e25300..1463cce3bdb8 100644 --- a/sdk/ai/ai-projects/src/api/memoryStores/memoryStoreUpdatePoller.ts +++ b/sdk/ai/ai-projects/src/api/memoryStores/memoryStoreUpdatePoller.ts @@ -134,6 +134,7 @@ function applyUpdateState( function buildRunningOperation( client: Client, expectedStatuses: string[], + options: CreateMemoryStoreUpdatePollerOptions, getInitialResponse?: () => PromiseLike, options?: CreateMemoryStoreUpdatePollerOptions, ): RunningOperation { @@ -152,12 +153,12 @@ function buildRunningOperation( pollAbortController.abort(); } const abortSignal = pollAbortController.signal; - if (options?.abortSignal?.aborted) { + if (options.abortSignal?.aborted) { pollAbortController.abort(); } else if (pollOptions?.abortSignal?.aborted) { pollAbortController.abort(); } else if (!abortSignal.aborted) { - options?.abortSignal?.addEventListener("abort", abortListener, { + options.abortSignal?.addEventListener("abort", abortListener, { once: true, }); pollOptions?.abortSignal?.addEventListener("abort", abortListener, { @@ -169,7 +170,7 @@ function buildRunningOperation( try { response = (await client.pathUnchecked(path).get({ abortSignal })) as PathUncheckedResponse; } finally { - options?.abortSignal?.removeEventListener("abort", abortListener); + options.abortSignal?.removeEventListener("abort", abortListener); pollOptions?.abortSignal?.removeEventListener("abort", abortListener); } @@ -193,6 +194,7 @@ export function createMemoryStoreUpdatePoller( buildRunningOperation( client, expectedStatuses, + options, getInitialResponse ? async () => { initialResponse = await getInitialResponse();