2.1.0 • Published 5 months ago

@dokimon/promises v2.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

npm npm-downloads code-style-prettier

@dokimon/promises

This package contains helpers for using JavaScript promises.

Functions

getAbortablePromise(promise, abortSignal?)

Rejects if the abortSignal is aborted before the promise settles. Resolves or rejects with the value of the promise otherwise.

const result = await getAbortablePromise(
    // Resolves or rejects when `fetch` settles.
    fetch('https://example.com/json').then(r => r.json()),
    // ...unless it takes longer than 5 seconds, after which the `AbortSignal` is triggered.
    AbortSignal.timeout(5000),
);

safeRace(...promises)

An implementation of Promise.race that causes all of the losing promises to settle. This allows them to be released and garbage collected, preventing memory leaks.

Read more here: https://github.com/nodejs/node/issues/17469