Package category
Promises and async control flow
Concurrency limits, retries, timeouts, debounce and async helpers.
735 packages3 comparisons
Packages compared
735 packages
| Package | Weekly downloads | 12-month change | 52 weeks | Gzip | Last release | Module | Types | Categories |
|---|---|---|---|---|---|---|---|---|
| p-limit Run multiple promise-returning & async functions with limited concurrency | 253.7m | +76% | - | 6 days ago 7.3.3 | ESM only | Bundled | Promises and async control flow | |
| p-locate Get the first fulfilled promise that satisfies the provided testing function | 243.1m | +64% | - | 7 months ago 7.0.0 | ESM only | Bundled | Promises and async control flow | |
| node-fetch Implementation of the Fetch API for Node.js, built on Node's http module. | 141.9m | +109% | - | 3 years ago 3.3.2 | ESM only | Bundled | HTTP clients, Promises and async control flow | |
| universalify Make a callback- or promise-based function support both promises and callbacks. | 124.2m | +56% | - | 2 years ago 2.0.1 | - | None | Promises and async control flow, Node.js utilities | |
| gensync Allows users to use generators in order to write common functions that can be both sync or async. | 110m | +165% | - | 5 years ago 1.0.0-beta.2 | CommonJS | None | Promises and async control flow | |
| pify Promisify a callback-style function | 94.6m | +20% | - | 4 years ago 6.1.0 | ESM only | Bundled | Promises and async control flow | |
| run-parallel Run an array of functions in parallel | 93.8m | +94% | - | 5 years ago 1.2.0 | CommonJS | None | Promises and async control flow | |
| asynckit Minimal async jobs utility library, with streams support | 88.9m | +54% | - | 9 months ago 0.5.0 | CommonJS | None | Promises and async control flow, Utility libraries | |
| @humanwhocodes/retry A utility to retry failed async methods. | 88.7m | +163% | - | 1 year ago 0.4.3 | ESM + CommonJS | Bundled | Promises and async control flow | |
| axios Promise-based HTTP client for the browser and Node.js. | 85.4m | +47% | - | 30 days ago 1.20.0 | ESM + CommonJS | Bundled | HTTP clients, Promises and async control flow | |
| p-try `Start a promise chain | 82.2m | +51% | - | 4 years ago 3.0.0 | ESM only | None | Polyfills and shims, Promises and async control flow | |
| async Higher-order functions and common patterns for asynchronous code | 80.9m | +33% | - | 2 years ago 3.2.6 | ESM + CommonJS | None | Promises and async control flow | |
| p-map Map over promises concurrently | 61.6m | +27% | - | 12 days ago 7.0.8 | ESM only | Bundled | Promises and async control flow | |
| is-async-function Determine if a function is a native async function. | 57.2m | +107% | - | 1 year ago 2.1.1 | CommonJS | Bundled | Promises and async control flow | |
| regenerator-runtime Runtime for Regenerator-compiled generator and async functions. | 55.9m | +13% | - | 2 years ago 0.14.1 | CommonJS | None | Promises and async control flow, Polyfills and shims | |
| async-function A function that returns the normally hidden `AsyncFunction` constructor | 53.5m | +115% | - | 1 year ago 1.0.0 | ESM + CommonJS | None | Promises and async control flow | |
| neo-async Neo-Async is a drop-in replacement for Async, it almost fully covers its functionality and runs faster | 50m | +48% | - | 6 years ago 2.6.2 | CommonJS | None | Promises and async control flow | |
| bluebird Full featured Promises/A+ implementation with exceptionally good performance | 45.1m | +48% | - | 6 years ago 3.7.2 | CommonJS | None | Promises and async control flow | |
| any-promise Resolve any installed ES6 compatible promise | 44.5m | +115% | - | 10 years ago 1.3.0 | CommonJS | Bundled | Promises and async control flow | |
| p-retry Retry a promise-returning or async function | 40.7m | +133% | - | 23 days ago 8.0.1 | ESM only | Bundled | Promises and async control flow | |
| synckit Perform async work synchronously in Node.js using `worker_threads` with first-class TypeScript support. | 39.1m | +107% | - | 3 months ago 0.11.13 | ESM + CommonJS | Bundled | Promises and async control flow, TypeScript tooling | |
| lie A basic but performant promise implementation | 38.8m | +160% | - | 8 years ago 3.3.0 | CommonJS | Bundled | Promises and async control flow | |
| lodash.debounce The lodash method `_.debounce` exported as a module. | 37.9m | +59% | - | 10 years ago 4.0.8 | - | None | Promises and async control flow, Utility libraries | |
| p-timeout Timeout a promise after a specified amount of time | 36.8m | +139% | - | 12 days ago 7.0.2 | ESM only | Bundled | Promises and async control flow | |
| emittery Simple and modern async event emitter | 35.2m | +22% | - | 6 months ago 2.0.0 | ESM only | Bundled | Promises and async control flow, TypeScript tooling | |
| co generator async control flow goodness | 34.9m | +15% | - | 11 years ago 4.6.0 | - | None | Promises and async control flow | |
| run-async Utility method to run function either synchronously or asynchronously using the common `this.async()` style. | 30.4m | +29% | - | 1 year ago 4.0.6 | CommonJS | Bundled | Promises and async control flow | |
| p-finally `Promise#finally()` ponyfill - Invoked when the promise is settled regardless of outcome | 29.8m | +52% | - | 5 years ago 3.0.0 | ESM only | None | Polyfills and shims, Promises and async control flow | |
| duplexify Turn a writable and readable stream into a streams2 duplex stream with support for async initialization and streams1/streams2 input | 29.6m | +50% | - | 2 years ago 4.1.3 | CommonJS | None | Promises and async control flow | |
| promise Bare bones Promises/A+ implementation | 27.7m | +65% | - | 3 years ago 8.3.0 | CommonJS | None | Promises and async control flow | |
| p-cancelable Create a promise that can be canceled | 27.4m | +28% | - | 4 years ago 4.0.1 | ESM only | Bundled | Promises and async control flow | |
| p-queue Promise queue with concurrency control | 25.9m | +151% | - | 2 months ago 9.3.3 | ESM only | Bundled | Promises and async control flow, Queues and background jobs | |
| @open-draft/deferred-promise A Promise-compatible abstraction that defers resolving/rejecting promises to another closure. | 21.7m | +324% | - | 6 months ago 3.0.0 | ESM only | None | Promises and async control flow | |
| @sec-ant/readable-stream A tiny, zero-dependency yet spec-compliant asynchronous iterator polyfill/ponyfill for ReadableStreams. | 21.2m | +339% | - | 4 months ago 0.7.0 | ESM only | Bundled | Polyfills and shims, Promises and async control flow | |
| promise-retry Retries a function that returns a promise, leveraging the power of the retry module. | 20.1m | +23% | - | 6 years ago 2.0.1 | CommonJS | None | Promises and async control flow | |
| form-data-encoder Encode FormData content into the multipart/form-data format | 20.1m | +118% | - | 1 year ago 4.1.0 | ESM + CommonJS | Bundled | Files and file systems, Promises and async control flow | |
| basic-ftp FTP client for Node.js, supports FTPS over TLS, IPv6, Async/Await, and Typescript. | 18.8m | +68% | - | 28 days ago 6.2.1 | CommonJS | Bundled | Promises and async control flow, TypeScript tooling | |
| debounce Delay function calls until a set time elapses after the last invocation | 17.6m | +93% | - | 10 months ago 3.0.0 | ESM only | Bundled | Queues and background jobs, Promises and async control flow | |
| standard-as-callback A performant and standard (Bluebird) library that registers a node-style callback on a promise | 17.4m | +157% | - | 5 years ago 2.1.0 | CommonJS | Bundled | Promises and async control flow | |
| @discoveryjs/json-ext A set of efficient utilities that extend the use of JSON (streaming, estimate size, NDJSON/JSONL, etc.) | 17m | +26% | - | 4 months ago 1.1.0 | ESM + CommonJS | Bundled | Parsers and serialisers, Promises and async control flow | |
| throat Throttle the parallelism of an asynchronous (promise returning) function / functions | 16.7m | +37% | - | 3 years ago 6.0.2 | - | None | Promises and async control flow | |
| dezalgo Contain async insanity so that the dark pony lord doesn't eat souls | 16.6m | +63% | - | 4 years ago 1.0.4 | CommonJS | None | Promises and async control flow | |
| concurrently Run commands concurrently | 15.8m | +102% | - | 1 month ago 10.0.5 | ESM only | Bundled | CLI tools and terminal utilities, Promises and async control flow | |
| @open-draft/until Gracefully handle a Promise using async/await. | 15.3m | +151% | - | 1 year ago 3.0.1 | ESM only | Bundled | Promises and async control flow | |
| thunky delay the evaluation of a paramless async function and cache the result | 15.1m | +17% | - | 6 years ago 1.1.0 | CommonJS | None | Caching, Promises and async control flow | |
| quansync Create sync/async APIs with usable logic | 14.1m | +232% | - | 9 months ago 1.0.0 | ESM only | Bundled | Promises and async control flow | |
| lodash.throttle The lodash method `_.throttle` exported as a module. | 14m | +129% | - | 10 years ago 4.1.1 | - | None | Promises and async control flow, Utility libraries | |
| es6-promise A lightweight library that provides tools for organizing asynchronous code | 14m | +33% | - | 7 years ago 4.2.8 | CommonJS | Bundled | Promises and async control flow, Polyfills and shims | |
| queue asynchronous function queue with adjustable concurrency | 13.4m | +154% | - | 3 years ago 7.0.0 | ESM only | Bundled | Promises and async control flow | |
| q A library for promises (CommonJS/Promises/A,B,D) | 12.8m | +2% | - | 8 years ago 1.5.1 | CommonJS | None | Promises and async control flow |
12-month change compares the average of the last 4 weeks of downloads with the first 4 weeks of the 52-week series. Gzip size is for the whole package, as measured by Bundlephobia. "-" means the value has not been fetched.
- p-limitRun multiple promise-returning & async functions with limited concurrency
- p-locateGet the first fulfilled promise that satisfies the provided testing function
- node-fetchImplementation of the Fetch API for Node.js, built on Node's http module.
- universalifyMake a callback- or promise-based function support both promises and callbacks.
- gensyncAllows users to use generators in order to write common functions that can be both sync or async.
- pifyPromisify a callback-style function
- run-parallelRun an array of functions in parallel
- asynckitMinimal async jobs utility library, with streams support
- @humanwhocodes/retryA utility to retry failed async methods.
- axiosPromise-based HTTP client for the browser and Node.js.
- p-try`Start a promise chain
- asyncHigher-order functions and common patterns for asynchronous code
- p-mapMap over promises concurrently
- is-async-functionDetermine if a function is a native async function.
- regenerator-runtimeRuntime for Regenerator-compiled generator and async functions.
- async-functionA function that returns the normally hidden `AsyncFunction` constructor
- neo-asyncNeo-Async is a drop-in replacement for Async, it almost fully covers its functionality and runs faster
- bluebirdFull featured Promises/A+ implementation with exceptionally good performance
- any-promiseResolve any installed ES6 compatible promise
- p-retryRetry a promise-returning or async function
- synckitPerform async work synchronously in Node.js using `worker_threads` with first-class TypeScript support.
- lieA basic but performant promise implementation
- lodash.debounceThe lodash method `_.debounce` exported as a module.
- p-timeoutTimeout a promise after a specified amount of time
- emitterySimple and modern async event emitter
- cogenerator async control flow goodness
- run-asyncUtility method to run function either synchronously or asynchronously using the common `this.async()` style.
- p-finally`Promise#finally()` ponyfill - Invoked when the promise is settled regardless of outcome
- duplexifyTurn a writable and readable stream into a streams2 duplex stream with support for async initialization and streams1/streams2 input
- promiseBare bones Promises/A+ implementation
- p-cancelableCreate a promise that can be canceled
- p-queuePromise queue with concurrency control
- @open-draft/deferred-promiseA Promise-compatible abstraction that defers resolving/rejecting promises to another closure.
- @sec-ant/readable-streamA tiny, zero-dependency yet spec-compliant asynchronous iterator polyfill/ponyfill for ReadableStreams.
- promise-retryRetries a function that returns a promise, leveraging the power of the retry module.
- form-data-encoderEncode FormData content into the multipart/form-data format
- basic-ftpFTP client for Node.js, supports FTPS over TLS, IPv6, Async/Await, and Typescript.
- debounceDelay function calls until a set time elapses after the last invocation
- standard-as-callbackA performant and standard (Bluebird) library that registers a node-style callback on a promise
- @discoveryjs/json-extA set of efficient utilities that extend the use of JSON (streaming, estimate size, NDJSON/JSONL, etc.)
- throatThrottle the parallelism of an asynchronous (promise returning) function / functions
- dezalgoContain async insanity so that the dark pony lord doesn't eat souls
- concurrentlyRun commands concurrently
- @open-draft/untilGracefully handle a Promise using async/await.
- thunkydelay the evaluation of a paramless async function and cache the result
- quansyncCreate sync/async APIs with usable logic
- lodash.throttleThe lodash method `_.throttle` exported as a module.
- es6-promiseA lightweight library that provides tools for organizing asynchronous code
- queueasynchronous function queue with adjustable concurrency
- qA library for promises (CommonJS/Promises/A,B,D)