A class that can be used to make async calls with concurrency and retry logic.
This is useful for making calls to any kind of "expensive" external resource, be it because it's rate-limited, subject to network issues, etc.
Concurrent calls are limited by the maxConcurrency parameter, which defaults
to Infinity. This means that by default, all calls will be made in parallel.
Retries are limited by the maxRetries parameter, which defaults to 6. This
means that by default, each call will be retried up to 6 times, with an
exponential backoff between each attempt.
class AsyncCallerMaximum number of parallel calls to make.
The maximum number of retries that can be made for a single call, with an exponential backoff between each attempt. Defaults to 6.
Custom handler to handle failed attempts. Takes the originally thrown error object as input, and should itself throw an error if the input error is not retryable.