awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
google avatar

google/promises

0
View on GitHub↗
3,828 stars·311 forks·Objective-C·Apache-2.0·3 vues

Promises

This project is a promise-based concurrency framework and asynchronous task library for Swift and Objective-C. It functions as a workflow orchestrator that uses monadic transformations to chain operations and propagate results through a state machine.

The library specializes in transforming traditional completion-handler APIs into promise-based structures to enable sequential execution. It provides mechanisms for coordinating simultaneous background processes, including the ability to aggregate results from multiple tasks or synchronize operations through racing and waiting.

The framework covers comprehensive asynchronous workflow management, including pipeline chaining and concurrency control. It includes fault-tolerance primitives for error interception, automated retry logic, and recovery fallbacks, as well as utilities for execution timeouts and result validation.

The project also provides tools for synchronous testing by blocking execution until pending promises resolve to facilitate deterministic assertions in unit tests.

Features

  • Asynchronous Workflow Orchestrators - Functions as a workflow orchestrator for coordinating simultaneous background processes and aggregating results with thread-safe synchronization.
  • Swift Task Libraries - Provides low-level primitives for managing complex asynchronous workflows and promise-based task chaining specifically for Swift and Objective-C.
  • Monadic Pipelines - Implements sequential chaining of asynchronous computations where the output of one task serves as the input to the next.
  • Asynchronous Operation Chaining - Sequences multiple asynchronous tasks in a pipeline where each operation feeds its output into the next.
  • Asynchronous Task Orchestration - Provides utilities for managing complex background operations and controlling execution flow to maintain application responsiveness.
  • Error Recovery - Intercepts failures in background task chains to provide recovery via fallback values or automated retries.
  • Future-Based Concurrency Frameworks - Provides a concurrency framework that uses futures and promises to simplify complex asynchronous logic and result propagation.
  • Task Result Aggregation - Provides mechanisms to gather outputs and errors from multiple simultaneous asynchronous tasks into a single unified result.
  • Callback-to-Promise Converters - Transforms traditional completion-handler patterns into promise objects to enable sequential asynchronous execution.
  • Fallback Handlers - Provides fallback handlers that return a default value if an asynchronous operation fails, keeping the chain active.
  • Asynchronous Operation Retries - Implements automated retry logic to reattempt rejected operations multiple times using specified delays.
  • Result Aggregators - Provides mechanisms for coordinating simultaneous background processes by aggregating results from multiple asynchronous tasks.
  • Async Task Timeouts - Automatically rejects a task if it fails to resolve within a specified time limit to prevent hanging operations.
  • Promise-Based API Wrappers - Offers wrappers that convert traditional asynchronous completion-handler APIs into standardized promise-based interfaces.
  • Error Interception Handlers - Provides programmable handlers that intercept errors in a promise chain to perform cleanup or report failures.
  • Async Task Wrappers - Allows wrapping blocks of work to resolve with a value or error on a specified execution queue.
  • Dispatch Queues - Offloads asynchronous work to system-managed dispatch queues to prevent blocking the main application thread.
  • Promise Lifecycle State Machines - Tracks the internal transition of asynchronous tasks through distinct states to ensure consistent result propagation.
  • Parallel Task Synchronization - Manages complex synchronization by racing multiple operations or waiting for all parallel tasks to complete.
  • Thread-Safe State Synchronization - Uses synchronization primitives to maintain data consistency when updating task results across concurrent execution threads.
  • Type-Safe Container Wrapping - Wraps asynchronous values in generic containers to maintain strict compile-time type checking throughout the pipeline.

Historique des stars

Graphique de l'historique des stars pour google/promisesGraphique de l'historique des stars pour google/promises

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Alternatives open source à Promises

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Promises.
  • reactor/reactor-coreAvatar de reactor

    reactor/reactor-core

    5,224Voir sur GitHub↗

    Reactor Core is a reactive programming toolkit and non-blocking foundation for composing asynchronous data pipelines on the JVM. It serves as an asynchronous stream processing framework and a backpressure management system, allowing developers to transform, filter, and combine sequences of events while regulating data flow between producers and consumers to prevent resource exhaustion. The library differentiates itself through a sophisticated concurrency scheduling system and demand-based flow control. It decouples signal processing from specific threads using a scheduler registry and provide

    Javaasynchronousflowflux
    Voir sur GitHub↗5,224
  • boltsframework/bolts-swiftAvatar de BoltsFramework

    BoltsFramework/Bolts-Swift

    1,317Voir sur GitHub↗

    Bolts-Swift is a concurrency control framework designed to manage asynchronous workflows in native mobile applications. It provides a collection of primitives that allow developers to orchestrate background operations through a promise-based model, replacing deeply nested callback structures with chainable task sequences. The library distinguishes itself by offering granular control over task lifecycles and execution environments. It enables developers to define custom executors for specific threading contexts and provides mechanisms to manually signal the completion, error, or cancellation o

    Swift
    Voir sur GitHub↗1,317
  • mxcl/promisekitAvatar de mxcl

    mxcl/PromiseKit

    14,238Voir sur GitHub↗

    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

    Swift
    Voir sur GitHub↗14,238
  • ruby-concurrency/concurrent-rubyAvatar de ruby-concurrency

    ruby-concurrency/concurrent-ruby

    5,830Voir sur GitHub↗

    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

    Ruby
    Voir sur GitHub↗5,830
Voir les 30 alternatives à Promises→

Questions fréquentes

Que fait google/promises ?

This project is a promise-based concurrency framework and asynchronous task library for Swift and Objective-C. It functions as a workflow orchestrator that uses monadic transformations to chain operations and propagate results through a state machine.

Quelles sont les fonctionnalités principales de google/promises ?

Les fonctionnalités principales de google/promises sont : Asynchronous Workflow Orchestrators, Swift Task Libraries, Monadic Pipelines, Asynchronous Operation Chaining, Asynchronous Task Orchestration, Error Recovery, Future-Based Concurrency Frameworks, Task Result Aggregation.

Quelles sont les alternatives open-source à google/promises ?

Les alternatives open-source à google/promises incluent : reactor/reactor-core — Reactor Core is a reactive programming toolkit and non-blocking foundation for composing asynchronous data pipelines… boltsframework/bolts-swift — Bolts-Swift is a concurrency control framework designed to manage asynchronous workflows in native mobile… ruby-concurrency/concurrent-ruby — Concurrent Ruby is a comprehensive concurrency toolkit for the Ruby language that provides thread-safe data… mxcl/promisekit — PromiseKit is a future-based concurrency framework and promise library for Swift and Objective-C. It functions as an… vandadnp/flutter-tips-and-tricks — This repository is a collection of practical code snippets and implementation patterns for Flutter and Dart. It serves… dry-python/returns — Returns is a functional programming library for Python that provides type-safe containers for managing state, error…