Select Git revision
-
Reiter, Christoph authored
These allow linking multiple AbortControllers and ceate a timeout abort signal. For example in case you want to abort a fetch in case (1) the UI element gets removed (2) a newer request replacing this one gets started (3) a timeout happens because the fetch takes too long createLinkedAbortController() allows merging multiple signals into one and createTimeoutAbortSignal() allows creating a singal that auto aborts after some time passes.
Reiter, Christoph authoredThese allow linking multiple AbortControllers and ceate a timeout abort signal. For example in case you want to abort a fetch in case (1) the UI element gets removed (2) a newer request replacing this one gets started (3) a timeout happens because the fetch takes too long createLinkedAbortController() allows merging multiple signals into one and createTimeoutAbortSignal() allows creating a singal that auto aborts after some time passes.
abort.js 663 B
import {assert} from 'chai';
import {createLinkedAbortController, createTimeoutAbortSignal} from '../src/abort.js';
suite('abort', () => {
test('createLinkedAbortController', () => {
let c1 = new AbortController();
let c2 = new AbortController();
const linked = createLinkedAbortController(c1.signal, c2.signal);
assert.isFalse(linked.signal.aborted);
c1.abort();
assert.isTrue(linked.signal.aborted);
c1.abort();
linked.abort();
});
test('createTimeoutAbortSignal', () => {
const signal = createTimeoutAbortSignal(10000000);
assert.isFalse(signal.aborted);
});
});