Skip to content
JS
Package category

Promises and async control flow

Concurrency limits, retries, timeouts, debounce and async helpers.

735 packages3 comparisons

Packages compared

735 packages
PackageWeekly downloads12-month change52 weeksGzipLast releaseModuleTypesCategories
p-limit
Run multiple promise-returning & async functions with limited concurrency
253.7m+76%-6 days ago
7.3.3
ESM onlyBundledPromises 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 onlyBundledPromises 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 onlyBundledHTTP 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
-NonePromises 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
CommonJSNonePromises and async control flow
pify
Promisify a callback-style function
94.6m+20%-4 years ago
6.1.0
ESM onlyBundledPromises and async control flow
run-parallel
Run an array of functions in parallel
93.8m+94%-5 years ago
1.2.0
CommonJSNonePromises and async control flow
asynckit
Minimal async jobs utility library, with streams support
88.9m+54%-9 months ago
0.5.0
CommonJSNonePromises 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 + CommonJSBundledPromises 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 + CommonJSBundledHTTP clients, Promises and async control flow
p-try
`Start a promise chain
82.2m+51%-4 years ago
3.0.0
ESM onlyNonePolyfills 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 + CommonJSNonePromises and async control flow
p-map
Map over promises concurrently
61.6m+27%-12 days ago
7.0.8
ESM onlyBundledPromises 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
CommonJSBundledPromises and async control flow
regenerator-runtime
Runtime for Regenerator-compiled generator and async functions.
55.9m+13%-2 years ago
0.14.1
CommonJSNonePromises 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 + CommonJSNonePromises 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
CommonJSNonePromises and async control flow
bluebird
Full featured Promises/A+ implementation with exceptionally good performance
45.1m+48%-6 years ago
3.7.2
CommonJSNonePromises and async control flow
any-promise
Resolve any installed ES6 compatible promise
44.5m+115%-10 years ago
1.3.0
CommonJSBundledPromises and async control flow
p-retry
Retry a promise-returning or async function
40.7m+133%-23 days ago
8.0.1
ESM onlyBundledPromises 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 + CommonJSBundledPromises and async control flow, TypeScript tooling
lie
A basic but performant promise implementation
38.8m+160%-8 years ago
3.3.0
CommonJSBundledPromises and async control flow
lodash.debounce
The lodash method `_.debounce` exported as a module.
37.9m+59%-10 years ago
4.0.8
-NonePromises 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 onlyBundledPromises and async control flow
emittery
Simple and modern async event emitter
35.2m+22%-6 months ago
2.0.0
ESM onlyBundledPromises and async control flow, TypeScript tooling
co
generator async control flow goodness
34.9m+15%-11 years ago
4.6.0
-NonePromises 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
CommonJSBundledPromises 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 onlyNonePolyfills 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
CommonJSNonePromises and async control flow
promise
Bare bones Promises/A+ implementation
27.7m+65%-3 years ago
8.3.0
CommonJSNonePromises and async control flow
p-cancelable
Create a promise that can be canceled
27.4m+28%-4 years ago
4.0.1
ESM onlyBundledPromises and async control flow
p-queue
Promise queue with concurrency control
25.9m+151%-2 months ago
9.3.3
ESM onlyBundledPromises 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 onlyNonePromises 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 onlyBundledPolyfills 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
CommonJSNonePromises 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 + CommonJSBundledFiles 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
CommonJSBundledPromises 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 onlyBundledQueues 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
CommonJSBundledPromises 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 + CommonJSBundledParsers 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
-NonePromises 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
CommonJSNonePromises and async control flow
concurrently
Run commands concurrently
15.8m+102%-1 month ago
10.0.5
ESM onlyBundledCLI 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 onlyBundledPromises 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
CommonJSNoneCaching, Promises and async control flow
quansync
Create sync/async APIs with usable logic
14.1m+232%-9 months ago
1.0.0
ESM onlyBundledPromises and async control flow
lodash.throttle
The lodash method `_.throttle` exported as a module.
14m+129%-10 years ago
4.1.1
-NonePromises 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
CommonJSBundledPromises and async control flow, Polyfills and shims
queue
asynchronous function queue with adjustable concurrency
13.4m+154%-3 years ago
7.0.0
ESM onlyBundledPromises and async control flow
q
A library for promises (CommonJS/Promises/A,B,D)
12.8m+2%-8 years ago
1.5.1
CommonJSNonePromises 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)