30 open-source projects similar to sindresorhus/p-map, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
Bluebird is a JavaScript promise library designed for managing asynchronous operations with a custom promise implementation. It provides a framework for controlling promise lifecycles and orchestrating non-blocking programming patterns. The library distinguishes itself with an asynchronous debugging toolkit that captures long stack traces across asynchronous boundaries and a global handler for unhandled promise rejections. It includes a predicate-based error filtering system to target specific exception types and a mechanism for the deterministic cleanup of system resources. It covers a broa
Promisify a callback-style function
Async is a JavaScript asynchronous flow library designed to manage the execution and coordination of asynchronous tasks in Node.js and the browser. It provides functional utilities to wrap, process, and orchestrate complex asynchronous workflows. The library distinguishes itself through a comprehensive task orchestrator that handles dependency graphs to resolve circular references and manages concurrent task queues. It includes a unification bridge that allows callback-style and promise-based functions to operate within the same execution interface. The project covers several primary capabil
Run promise-returning & async functions a specific number of times concurrently
Limit the execution rate of a function
Compose promise-returning & async functions into a reusable pipeline
While a condition returns true, calls a function repeatedly, and then resolves the promise
co is a JavaScript generator control flow library and non-blocking workflow engine. It manages asynchronous logic by using generators and promises to simulate a synchronous coding style. The project transforms generator functions into standard functions that return promises, ensuring compatibility with non-generator interfaces. It also functions as a promise-based asynchronous orchestrator that executes multiple operations concurrently through the recursive resolution of nested promise collections. The library provides high-level primitives for asynchronous flow control and non-blocking work
Convert an Observable to a Promise
RxJS is a library for reactive programming that provides a framework for composing asynchronous and event-based programs. It utilizes observable sequences to model data flows, allowing developers to manage complex sequences of events through a declarative programming interface. The library implements the observer pattern to facilitate decoupled communication between data producers and subscribers. By employing a lazy execution model, streams remain dormant until a consumer explicitly subscribes, at which point data production is triggered. This approach enables the construction of predictable
Memoize promise-returning functions. Includes cache expire and prefetch.
p-queue is a JavaScript promise queue and concurrent task scheduler designed to limit the number of active asynchronous operations. It serves as an asynchronous rate limiter and promise lifecycle manager to prevent resource exhaustion. The project distinguishes itself through priority-based task scheduling and token-bucket rate limiting to control execution frequency. It integrates with abort signals for task cancellation and provides mechanisms to pause, resume, and clear pending operations. The tool covers broader traffic management capabilities including operation timeouts and concurrency
Run promise-returning & async functions concurrently with optional limited concurrency
Run multiple promise-returning & async functions with limited concurrency
q is a JavaScript promise library and asynchronous flow controller designed to manage non-blocking operations. It serves as a system for coordinating parallel tasks and sequencing asynchronous workflows through task chaining and error propagation. The library distinguishes itself with specialized debugging tools that capture long stack traces across asynchronous jumps and monitor unhandled rejections to prevent silent failures. It also functions as a remote object proxy, forwarding method calls to remote targets and routing responses back through promises. The project provides comprehensive
Transform the first chunk in a stream
An async control-flow library that makes stepping through logic easy.
Modernize node.js to current ECMAScript specifications! node.js will not update their API to ES6+ for a while. This library is a wrapper for various aspects of node.js' API.
Node-core streams for userland
High-level streams library for Node.js and the browser
:loop: Calls a function repeatedly until a condition returns true and then resolves the promise
Same as mz, but wrap many popular modules rather than core API.
Convenience wrapper for ReadableStream, with an API lifted from "from" and "through2"