A better `Promise.race()`
MIT License
Check if something is a promise
Run promise-returning & async functions concurrently with optional limited concurrency
Run promise-returning & async functions in series
Start a promise chain
Create a promise that reports progress
Promise queue with concurrency control
Retry a promise-returning or async function
Wait for a specified number of promises to be fulfilled
Timeout a promise after a specified amount of time
Map over promises concurrently
Create a lazy promise that defers execution until it's awaited or when .then() or .catch() is called
Create a promise that can be canceled
Delay a promise a specified amount of time
Iterate over promises serially
Wait for any promise to be fulfilled