Skip to main content
Deno 2 is finally here 🎉️
Learn more
Module

x/proc/legacy/deps.ts>retry

A high-level way to run child processes that is easy, flexible, powerful, and prevents resource leaks.
Go to Latest
function retry
import { retry } from "https://deno.land/x/proc@0.20.8/legacy/deps.ts";

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

Examples

Example 1

import { retry } from "https://deno.land/std@0.224.0/async/mod.ts";
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,
});

Parameters

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