Skip to content

Commit

Permalink
Abort inflight requests
Browse files Browse the repository at this point in the history
  • Loading branch information
lemonmade committed May 15, 2024
1 parent 97aea8b commit a3ea895
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion packages/async/source/AsyncFetch.ts
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,10 @@ export class AsyncFetch<Data = unknown, Input = unknown> {
input?: Input,
{signal}: {signal?: AbortSignal} = {},
): AsyncFetchPromise<Data, Input> => {
const wasRunning = this.running.peek();

const fetchCall =
this.running.peek() == null &&
wasRunning == null &&
this.finished.peek() == null &&
!this.initial.signal.aborted
? this.initial
Expand All @@ -81,6 +83,7 @@ export class AsyncFetch<Data = unknown, Input = unknown> {
fetchCall.call(input, {signal}).then(finalizeFetchCall, finalizeFetchCall);

this.running.value = fetchCall;
wasRunning?.abort();

return fetchCall.promise;
};
Expand Down

0 comments on commit a3ea895

Please sign in to comment.