race-as-promised

Alternate Promise.race() implementation which doesn't leak memory, courtesy Brian Kim (https://github.com/brainkim)

Usage no npm install needed!

<script type="module">
  import raceAsPromised from 'https://cdn.skypack.dev/race-as-promised';
</script>

README

race-as-promised

This module implements Promise.race() in a way that does not leak memory.

Rationale

The V8 Promise implementation does leak memory in many common Promise.race([...]) call cases; see e.g. https://github.com/nodejs/node/issues/17469.

The V8 Promise implementation is likely not going to be fixed.

See also: https://bugs.chromium.org/p/v8/issues/detail?id=9858

Installation

npm install race-as-promised

Usage

const race = require ("race-as-promised");

// Use race([...]) instead of Promise.race([...])

Author

The source code and test core have been made available under The Unlicense by Brian Kim, to whom we owe our gratitude.

License

The Unlicense