30 open-source projects similar to stefanpenner/es6-promise, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Es6 Promise alternative.
This project is a PHP implementation of the Promises/A+ specification, providing a library for managing asynchronous operations and deferred values. It serves as an asynchronous task coordinator that allows for the creation of non-blocking code through a promise-based pattern. The library enables the simulation of asynchronous coroutines, allowing non-blocking code to be written in a linear style. It features duck-typed interoperability, which allows it to integrate with any foreign object that implements a then method regardless of class inheritance. The project covers broader capabilities
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
es5-shim is an ECMAScript 5 polyfill library and standard library shim. It serves as a JavaScript compatibility layer that adds missing ES5 standard library methods and language features to legacy JavaScript engines. The project functions by implementing the ECMAScript 5 specification for non-compliant engines to ensure consistent behavior and prevent runtime errors. It provides a bridge for older browser environments, allowing modern JavaScript code to execute in legacy environments. The library covers cross-browser API standardization and polyfill management. It specifically handles the em
Concurrent Ruby is a comprehensive concurrency toolkit for the Ruby language that provides thread-safe data structures, synchronization primitives, and asynchronous execution patterns. It implements core concurrency abstractions including an actor model framework where isolated actors communicate through asynchronous message passing, a future and promise system for composing non-blocking operations, and thread pool executors that manage reusable worker threads for concurrent task execution. The library distinguishes itself through a broad set of coordination mechanisms that go beyond basic th
PromiseKit is a future-based concurrency framework and promise library for Swift and Objective-C. It functions as an asynchronous workflow coordinator, representing the eventual result of an operation to simplify concurrency logic and replace nested callback structures. The framework enables the coordination of both sequential and parallel asynchronous tasks. It provides a structured pipeline for chaining operations, allowing the results of one task to be passed into the next and facilitating the execution of multiple operations simultaneously. The library includes a state-machine based reso
core-js is a comprehensive compatibility layer and standard library polyfill that implements ECMAScript proposals and stable language features across diverse JavaScript runtimes. It serves as a runtime environment shim to ensure consistent execution of global objects, iteration protocols, and standard library methods in older browsers or non-browser environments. The project is distinguished by its delivery models, offering both prototype-based global polyfilling and a pure-module implementation. This allows for the integration of modern functionality without modifying global prototypes to pr
This project is an ECMAScript 2015 reference guide and JavaScript language cheat sheet. It provides a concise summary of the language specifications, syntax updates, and new features introduced in the 2015 standard. The guide serves as a technical overview of modern language patterns used to manage modular code structures and asynchronous operations. It functions as a reference for implementing current coding standards and studying core updates to the language. The content covers a wide range of capabilities, including asynchronous programming, object modeling, and module management. It deta
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
This project is a comprehensive collection of web development reference guides and technical cheat sheets. It provides a curated set of markdown-based documentation designed to help developers quickly locate syntax patterns and API examples for common web technologies and programming languages. The repository serves as a specialized reference library covering several distinct technical domains. It includes extensive guides for CSS, focusing on selectors, Flexbox, Grid, and responsive layout properties, as well as a DevOps command reference for Docker, Kubernetes, AWS, Ansible, and general she
This project is a comprehensive technical guide and diagnostic manual for analyzing memory, performance, and asynchronous behavior within Node.js applications. It provides detailed methods for asynchronous tracing, memory diagnostics, and performance analysis to resolve runtime errors and execution bottlenecks. The resource distinguishes itself by covering advanced diagnostic workflows, including the use of flame graphs for CPU profiling, the capture and comparison of heap snapshots for memory leak detection, and the mapping of asynchronous call stacks. It also provides technical guidance on
This project is a PHP compatibility library that provides a polyfill for the native ctype extension. It serves as a portability layer, implementing missing core language functions to ensure consistent behavior across different server environments and PHP versions. The library specializes in character type validation, recreating the behavior of native extension functions using pure PHP code. It uses runtime environment detection to identify if the native extension is missing and injects fallback implementations directly into the global namespace to prevent collisions and maintain code portabil
Bolts-Android is a mobile development library for Android that provides a framework for deep-linking and a system for managing asynchronous tasks. It functions as a toolkit for parsing inbound intents, resolving URL metadata, and routing users to specific native content within an application. The library includes a task manager for coordinating parallel background operations and handling thread-safe execution. This system uses chainable tasks, cancellation tokens to stop active processes, and routing to ensure results return to the main user interface thread. The framework also covers deep-l
This repository is a collection of JavaScript coding challenges and a comprehensive interview guide. It provides reference implementations and educational examples designed to help developers master language fundamentals and prepare for technical interviews. The project covers a wide array of specialized implementations, including functional programming patterns like currying and partial application, as well as asynchronous patterns for concurrency control. It also includes practical examples of Document Object Model manipulation and the implementation of common data structures such as stacks
This project is a collection of engineering guidelines and best practices for writing readable and maintainable JavaScript source code. It serves as a clean code guide and refactoring manual to help developers improve the structure of their codebases. The repository provides a reference for applying SOLID principles to reduce coupling and enable extensions without modifying existing logic. It includes a naming convention standard for using explicit, searchable identifiers and a guide for asynchronous patterns to replace nested callbacks with clearer execution flows. The guidelines cover soft
Flexibility is a JavaScript layout engine and CSS compatibility layer that functions as a polyfill for the CSS Flexbox specification. It simulates flexible box layout behavior in web browsers that do not natively support the specification. The project achieves cross-browser layout consistency by implementing a programmatic system to calculate and apply alignment, direction, and wrapping properties to DOM elements. It provides utilities for both the application and extraction of these layout styles to manage the visual structure of a page. The engine operates through DOM tree traversal and ma
The Reactive Extensions for JavaScript
Shiny is a framework for building interactive web applications using R code, eliminating the need for HTML, CSS, or JavaScript. At its core, it provides a reactive programming model that automatically tracks data dependencies and re-executes only the parts of an application that depend on changed inputs. The framework handles server-side UI rendering and maintains persistent WebSocket connections between the browser and server for real-time updates without page reloads. The framework distinguishes itself through deep integration with the R ecosystem, including the ability to embed interactive
npm-run-all is a command-line and programmatic tool for running multiple npm scripts in sequence, parallel, or mixed combinations without requiring an external task runner. It provides a straightforward way to orchestrate complex multi-step build or test workflows directly from the terminal or from within Node.js application code. The tool distinguishes itself by supporting mixed execution plans that combine sequential and parallel steps into a single command, allowing users to define dependency graphs where some scripts run concurrently while others wait for completion. It manages child-proc
r2 is a JavaScript HTTP client library and asynchronous request library used for executing network calls. It provides a runtime-agnostic network layer that abstracts underlying HTTP implementations to ensure consistent behavior across different JavaScript execution environments. The library functions as a JSON API client, automatically parsing response bodies and formatting outgoing payloads. It utilizes a promise-based interface to manage the lifecycle of HTTP requests and responses. The project covers REST API integration and HTTP header management, allowing users to attach custom key-valu
Eloquent-JavaScript is a comprehensive JavaScript programming textbook and interactive coding tutorial designed for web development education. It serves as both a language reference and a practical guide, combining theoretical lessons with an environment where learners can execute and modify code examples. The project focuses on the fundamental principles of the JavaScript language, including lexical scoping, prototype-based inheritance, and asynchronous patterns. It provides detailed instruction on object-oriented programming, functional programming, and the use of the browser DOM to create
This project is a collection of educational resources and structured curricula designed for learning JavaScript. It provides a programming course, a coding bootcamp, and a web development tutorial to guide learners from basic syntax to advanced programming patterns. The materials cover frontend development, including the creation of dynamic user interfaces and the management of remote data via HTTP requests. The curriculum includes instructional guides on using JavaScript to interact with web services and manipulate browser elements. The scope of the project extends to asynchronous API integ
Neon is a framework for writing high-performance native Node.js modules using the Rust programming language. It serves as a foreign function interface bridge and a toolchain for bootstrapping, compiling, and managing Rust-based extensions. The project provides a cross-language memory manager that handles buffers and object borrowing to ensure safe memory access between Rust and JavaScript. It enables the mapping of data types and function calls across the language boundary, allowing Rust functions to be exported to the script environment and JavaScript functions to be called from Rust. The f
ioredis is a performance-focused Redis client for Node.js designed to execute commands and manage data connections. It provides a specialized interface for interacting with standalone servers, sharded clusters, and high-availability setups. The library distinguishes itself with native support for Redis Cluster, featuring automatic slot discovery and network address mapping, and Redis Sentinel for master node discovery and automatic failover. It also includes a dedicated Lua scripting interface that utilizes server-side caching to ensure atomic operations. The project covers a broad set of ca
koa2-note is a project focused on Koa2 web server development and Node.js asynchronous programming. It provides a framework for building web servers and APIs using an asynchronous middleware pipeline to handle request and response cycles. The project emphasizes a layered backend architecture that decouples routing, business services, and data models. It distinguishes itself through the integration of relational databases for persisting user sessions and application data, alongside a build process that includes JSX-to-JavaScript compilation for frontend assets. The capability surface covers b
This project is a comprehensive reference guide and technical documentation for the features, syntax updates, and APIs introduced in ECMAScript 6. It serves as a language specification and overview for modern JavaScript development. The guide covers a wide range of language enhancements, including the implementation of classes and prototype-based inheritance, the use of arrow functions for lexical scope binding, and the introduction of block-scoped variables. It details the module system for organizing independent code components via import and export statements. The documentation extends to
This project is a collection of translated educational resources and documentation focused on the internal mechanics of the JavaScript language. It provides detailed guides and tutorials covering core concepts such as scope, closures, and prototypes. The materials specifically address asynchronous programming patterns, including callbacks, promises, and generators. It also provides guidelines for performance optimization through benchmarking and tuning techniques to improve code execution speed and resource efficiency. The content is delivered via a static site generated from markdown files
This project is a comprehensive guide and set of engineering standards for writing readable, maintainable, and scalable JavaScript code. It provides a framework for software architecture, refactoring patterns, and clean coding practices designed to improve codebase health and longevity. The guide emphasizes the application of SOLID principles and architectural strategies such as dependency inversion and the separation of concerns. It focuses on transforming complex conditional logic through polymorphism and refactoring, while promoting a transition from imperative loops to declarative functio
This project is a comprehensive JavaScript programming tutorial and educational resource designed to guide learners from basic syntax to advanced language mastery. It serves as a structured instructional guide and language reference for the JavaScript standard library and its core programming concepts. The curriculum covers several specialized technical areas, including an asynchronous JavaScript guide focused on non-blocking code and a course on object-oriented programming centered on prototypes and inheritance. It also provides a dedicated learning resource for web development, focusing on
Nerv is an isomorphic JavaScript framework and virtual DOM library used for component-based user interface development. It functions as a React-compatible library that maintains compatibility with the React 16 API. The framework is specifically designed as a legacy browser UI framework, providing the internal logic necessary to maintain consistent behavior in older environments, including Internet Explorer 8. Its capabilities cover isomorphic web rendering through server-side HTML generation and client-side hydration. The library also includes frontend error handling to intercept component c
threads.js is a JavaScript worker thread library and asynchronous task orchestrator designed to offload CPU-intensive tasks to background threads. It functions as a cross-platform worker pool and a TypeScript worker runner that automatically transpiles and executes TypeScript files within separate threads. The project distinguishes itself by providing a unified worker API that allows for cross-platform execution across different JavaScript environments. It includes a specialized worker data serialization tool to pass complex class instances and binary data between threads, and supports inlini