An Error subclass for when a Task rejected after a specified
number of retries. It includes all rejection reasons, including the final one,
as well as the number of retries and the total duration spent on the retries.
It distinguishes between the list of rejections and the optional cause
property inherited from Error so that it can indicate if the retries failed
because the retry strategy was exhausted (in which case cause will be
undefined) or because the caller returned a StopRetrying
instance (in which case cause will be that instance.)
You can neither construct nor subclass this error, only use its properties. If
you need to check whether an Error class is an instance of this class, you
can check whether its name is RETRY_FAILED_NAME or you can use
the isRetryFailed helper function:
import*asTaskfrom'true-myth/task';
// snip letresult = awaitsomeFnThatReturnsATask(); if (result.isErr) { if (isRetryFailed(result.error)) { if (result.error.cause) { console.error('You quit on purpose: ', cause); }
for (letrejectionofresult.error.rejections) { console.error(rejection); } } else { // handle other error types } }
An
Error
subclass for when aTask
rejected after a specified number of retries. It includes all rejection reasons, including the final one, as well as the number of retries and the total duration spent on the retries. It distinguishes between the list of rejections and the optionalcause
property inherited fromError
so that it can indicate if the retries failed because the retry strategy was exhausted (in which casecause
will beundefined
) or because the caller returned aStopRetrying
instance (in which casecause
will be that instance.)You can neither construct nor subclass this error, only use its properties. If you need to check whether an
Error
class is an instance of this class, you can check whether itsname
isRETRY_FAILED_NAME
or you can use theisRetryFailed
helper function: