fix(web): bound stalled mutations
This commit is contained in:
@@ -89,12 +89,11 @@ export const API_QUERY_TIMEOUT_MS = 15_000;
|
||||
|
||||
function queryTimeout(init: RequestInit | undefined) {
|
||||
const upstream = init?.signal;
|
||||
if (!upstream) return undefined;
|
||||
const controller = new AbortController();
|
||||
let timedOut = false;
|
||||
const abortFromUpstream = () => controller.abort(upstream.reason);
|
||||
if (upstream.aborted) abortFromUpstream();
|
||||
else upstream.addEventListener('abort', abortFromUpstream, { once: true });
|
||||
const abortFromUpstream = () => controller.abort(upstream?.reason);
|
||||
if (upstream?.aborted) abortFromUpstream();
|
||||
else upstream?.addEventListener('abort', abortFromUpstream, { once: true });
|
||||
const timer = window.setTimeout(() => {
|
||||
timedOut = true;
|
||||
controller.abort();
|
||||
@@ -104,7 +103,7 @@ function queryTimeout(init: RequestInit | undefined) {
|
||||
timedOut: () => timedOut,
|
||||
cleanup: () => {
|
||||
window.clearTimeout(timer);
|
||||
upstream.removeEventListener('abort', abortFromUpstream);
|
||||
upstream?.removeEventListener('abort', abortFromUpstream);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user