UNPKG

abort-utils

Version:

Utility functions to use and combine `AbortSignal` and `AbortController` with Promises

20 lines (19 loc) 687 B
import { setTimeout } from 'node:timers/promises'; import { it, expect } from 'vitest'; import { signalFromPromise } from './signal-from-promise.js'; it('aborts when the promise resolves', async () => { const signal = signalFromPromise(setTimeout(1)); expect(signal.aborted).toBe(false); await setTimeout(2); expect(signal.aborted).toBe(true); }); it('aborts when the promise rejects', async () => { const failedPromise = (async () => { await setTimeout(1); throw new Error('x'); })(); const signal = signalFromPromise(failedPromise); expect(signal.aborted).toBe(false); await setTimeout(2); expect(signal.aborted).toBe(true); });