Git Product home page Git Product logo

p-retried's Introduction

Retry Icon

Promise Retried

Retry a promise-returning or async function. Deno port of sindresorhus's p-retry for node

build status language code size issues license version

View on deno.land




Abstraction for exponential and custom retry strategies for failed operations

Usage

import pRetried, {
    AbortError,
} from "https://deno.land/x/[email protected]/mod.ts"

async function run() {
    const response = await fetch("https://sindresorhus.com/unicorn")

    // Abort retrying if the resource doesn't exist
    if (response.status === 404) {
        throw new AbortError(response.statusText)
    }

    return response.blob()
}

console.log(await pRetried(run, { retries: 5 }))

API

See https://doc.deno.land/https/deno.land/x/[email protected]/mod.ts

Tip

You can pass arguments to the function being retried by wrapping it in an inline arrow function:

import pRetried from "https://deno.land/x/[email protected]/mod.ts"

const run = async emoji => {
    // โ€ฆ
}

// Without arguments
await pRetried(run, {
    retries: 5,
})

// With arguments
await pRetried(() => run("๐Ÿฆ„"), {
    retries: 5,
})

Supporters

  • HUGE thanks to @sindresorhus -- this repository is mostly his code, modified to work with Deno

Stargazers repo roster for @khrj/p-retried

Forkers repo roster for @khrj/p-retried

Related

License

  • Promise Retried is licensed under the MIT license.
  • Code is adapted from Sindre's p-retry for node (also under the MIT license)

p-retried's People

Contributors

khrj avatar renovate-bot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

p-retried's Issues

Dependency Dashboard

This issue provides visibility into Renovate updates and their statuses. Learn more

This repository currently has no open or pending branches.


  • Check this box to trigger a request for Renovate to run again on this repository

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.