extra-abort v0.4.0
extra-abort
Install
npm install --save extra-abort
# or
yarn add extra-abortAPI
AbortController, AbortSignal
The WHATWG AbortController and AbortSignal.
AbortError
class AbortError extends CustomError {}It is not the real AbortError of fetch,
but you can do err instance AbortError like it is,
because it can recognizes other errors that match the pattern of AbortError.
LinkedAbortController
class LinkedAbortController extends AbortController {
constructor(signal: AbortSignal)
}It is a special AbortController that takes an AbortSignal as a parameter.
It will abort itself when its parameter signal aborts,
you can make it abort by calling its abort method too.
timeoutSignal
function timeoutSignal(ms: number): AbortSignalIt will abort after ms milliseconds.
await fetch('http://example.com', { signal: timeoutSignal(5000) })withAbortSignal
/**
* @throws {AbortError}
*/
function withAbortSignal<T>(signal: AbortSignal | Falsy, fn: () => PromiseLike<T>): Promise<T>If AbortSignal is aborted, the promise will be rejected with AbortError.
raceAbortSignals
function raceAbortSignals(signals: Array<AbortSignal | Falsy>): AbortSignalThe Promise.race function for AbortSignal.
isAbortSignal
function isAbortSignal(val: unknown): val is AbortSignallastCallOnly
function lastCallOnly<T, Args extends unknown[]>(
fn: (...args: [...args: Args, signal: AbortSignal]) => PromiseLike<T>
): (...args: [...args: Args, signal: AbortSignal | Falsy]) => Promise<T>11 months ago
11 months ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago