Deduplicates concurrent in-flight requests with the same key.
When multiple callers request the same resource simultaneously,
only one underlying promise is created — all callers share the result.
The key is cleaned up automatically once the promise settles.
Example
constdeduper = newInFlightDeduper();
// Both calls share a single fetch: const [a, b] = awaitPromise.all([ deduper.add('track:123', () =>fetchTrack(123)), deduper.add('track:123', () =>fetchTrack(123)), ]); // a === b (same resolved value)
Return an existing in-flight promise for key, or start a new one via factory.
The entry is removed from the map once the promise settles (resolve or reject).
Deduplicates concurrent in-flight requests with the same key.
When multiple callers request the same resource simultaneously, only one underlying promise is created — all callers share the result. The key is cleaned up automatically once the promise settles.
Example