4 dépôts
Patterns for managing asynchronous operations to avoid callback nesting and improve readability.
Distinct from Asynchronous Error Handling: Candidates focus on testing, background evaluation, or input handling rather than general async/await control flow patterns.
Explore 4 awesome GitHub repositories matching software engineering & architecture · Asynchronous Control Flow. Refine with filters or upvote what's useful.
koa2-note est un projet axé sur le développement de serveurs web Koa2 et la programmation asynchrone Node.js. Il fournit un framework pour construire des serveurs web et des API en utilisant un pipeline de middleware asynchrone pour gérer les cycles de requête et de réponse. Le projet met l'accent sur une architecture backend en couches qui découple le routage, les services métier et les modèles de données. Il se distingue par l'intégration de bases de données relationnelles pour la persistance des sessions utilisateur et des données d'application, ainsi qu'un processus de build incluant la compilation JSX-vers-JavaScript pour les assets frontend. La surface de capacités couvre la conception d'API backend, incluant le routage RESTful et l'analyse des données de requête, ainsi que le rendu côté serveur avec des moteurs de template. Il inclut également la prise en charge des téléchargements de fichiers asynchrones via l'analyse de flux multipart, la gestion de session par cookies et l'implémentation de JSONP pour les requêtes inter-domaines. Le dépôt sert de ressource éducative avec des tutoriels structurés et des exemples pour apprendre l'implémentation du framework Koa et l'architecture serveur.
Writes asynchronous operations using synchronous style to eliminate nested callbacks.
Ce projet est un modèle d'application Android Kotlin de référence et un ensemble d'implémentations exemples démontrant les principes de l'Architecture Propre (Clean Architecture). Il fournit une conception structurelle qui isole les règles métier fondamentales de l'interface utilisateur et des sources de données dans des modules distincts et en couches. L'implémentation se concentre sur le modèle Modèle-Vue-VueModèle (MVVM) pour découpler la logique de l'interface utilisateur des modèles de données. Elle utilise un framework d'injection de dépendances pour automatiser la création d'objets et gérer les cycles de vie des composants, tout en employant un modèle de dépôt (repository pattern) pour abstraire les requêtes de données à travers la mémoire, le disque et les sources cloud. L'architecture intègre une organisation de paquets basée sur les fonctionnalités et des configurations de build modulaires pour maintenir la cohérence sur tout le projet. Elle inclut également une stratégie de test complète qui combine des tests unitaires pour la logique métier avec l'instrumentation pour l'interface utilisateur et des modules de mock pour la validation de la couche de données.
Implements patterns for managing asynchronous operations to ensure the user interface remains responsive during business logic execution.
code2flow est un mapper de flux de programme statique et un générateur de graphe d'appels de code source. Il analyse le code source pour produire des diagrammes de flux visuels qui mappent les relations d'appel de fonction et les chemins d'exécution. Le projet inclut un visualiseur de trace d'appel asynchrone qui suit les chemins d'exécution à travers les appels async et await pour mapper la logique des programmes asynchrones. Il fournit également une interface d'analyse de code programmable, permettant à la logique de génération de graphe d'appels d'être intégrée dans d'autres applications logicielles. Le système gère l'analyse de code statique en convertissant le code source en arbres de syntaxe abstraits pour identifier les définitions de fonction et les sites d'appel. Il prend en charge le filtrage de graphe d'appels pour restreindre la portée des visualisations via des filtres de contenu et l'extraction de chemin limitée en profondeur, tout en fournissant un style visuel pour distinguer les flux logiques.
Treats async and await markers as direct edges to maintain a linear visual flow in diagrams.
happy-dom est une simulation de navigateur headless basée sur JavaScript et un moteur de DOM virtuel. Il implémente le Document Object Model et les API Web pour exécuter du code frontend et exécuter des tests dans des environnements non-navigateurs tels que Node.js. Le projet fournit une interface programmatique pour créer et tester des éléments personnalisés et des structures de shadow DOM. Il prend en charge la gestion d'instances de page avec état pour simuler plusieurs sessions de navigation simultanées et inclut une horloge programmable pour synchroniser les opérations asynchrones. Le système couvre un large éventail de capacités de simulation de navigateur, incluant la manipulation du DOM et la surveillance des mutations, l'exécution de requêtes réseau, et la gestion des paramètres de fenêtre et des dimensions de la fenêtre d'affichage (viewport). Il permet également l'injection de globales standard de navigateur dans le contexte d'exécution.
Provides a programmable clock to synchronize asynchronous operations and timers during tests.