Creates a memoized async function that deduplicates in-flight requests and caches results.
Subsequent calls with the same cache key receive the original promise (request coalescing).
If the promise rejects, the entry is evicted so the next call can retry.
Creates a memoized async function that deduplicates in-flight requests and caches results.
Subsequent calls with the same cache key receive the original promise (request coalescing). If the promise rejects, the entry is evicted so the next call can retry.