Skip to main content


Deno standard library
Go to Latest
function retry
import { retry } from "";

Creates a retry promise which resolves to the value of the input using exponential backoff. If the input promise throws, it will be retried maxAttempts number of times. It will retry the input every certain amount of milliseconds, starting at minTimeout and multiplying by the multiplier until it reaches the maxTimeout


Example 1

import { retry } from "";
const req = async () => {
 // some function that throws sometimes

// Below resolves to the first non-error result of `req`
const retryPromise = await retry(req, {
 multiplier: 2,
 maxTimeout: 60000,
 maxAttempts: 5,
 minTimeout: 100,


fn: (() => Promise<T>) | (() => T)
opts: RetryOptions