async
A Dart package that contains tools to work with asynchronous computations.
- Stars
- 314
- Forks
- 51
- Last push (UTC)
- Oct 17, 2024
- Project status
- Archived
Original README
English project snapshot. Visit GitHub for the latest content.
[!IMPORTANT]
This repo has moved to https://github.com/dart-lang/core/tree/main/pkgs/async
Contains utility classes in the style of dart:async to work with asynchronous
computations.
Package API
-
The
AsyncCacheclass allows expensive asynchronous computations values to be cached for a period of time. -
The
AsyncMemoizerclass makes it easy to only run an asynchronous operation once on demand. -
The
CancelableOperationclass defines an operation that can be canceled by its consumer. The producer can then listen for this cancellation and stop producing the future when it's received. It can be created using aCancelableCompleter. -
The delegating wrapper classes allow users to easily add functionality on top of existing instances of core types from
dart:async. These includeDelegatingFuture,DelegatingStream,DelegatingStreamSubscription,DelegatingStreamConsumer,DelegatingSink,DelegatingEventSink, andDelegatingStreamSink. -
The
FutureGroupclass makes it easy to wait until a group of futures that may change over time completes. -
The
LazyStreamclass allows a stream to be initialized lazily when.listen()is first called. -
The
NullStreamSinkclass is an implementation ofStreamSinkthat discards all events. -
The
RestartableTimerclass extendsTimerwith areset()method. -
The
Resultclass that can hold either a value or an error. It provides various utilities for converting to and fromFutures andStreams. -
The
StreamGroupclass merges a collection of streams into a single output stream. -
The
StreamQueueclass allows a stream to be consumed event-by-event rather than being pushed whichever events as soon as they arrive. -
The
StreamSplitterclass allows a stream to be duplicated into multiple identical streams. -
The
StreamZipclass combines multiple streams into a single stream of lists of events. -
This package contains a number of
StreamTransformers.SingleSubscriptionTransformerconverts a broadcast stream to a single-subscription stream, andtypedStreamTransformercasts the type of aStream. It also defines a transformer type forStreamSinks,StreamSinkTransformer. -
The
SubscriptionStreamclass wraps aStreamSubscriptionso it can be re-used as aStream.
Publishing automation
For information about our publishing automation and release process, see https://github.com/dart-lang/ecosystem/wiki/Publishing-automation.
Categories
Dependencies used
Dependency list 6 items
- collection
^1.15.0 - meta
^1.3.0 - dart_flutter_team_lintsDevelopment
^3.0.0 - fake_asyncDevelopment
^1.2.0 - stack_traceDevelopment
^1.10.0 - testDevelopment
^1.16.6
How do I choose a repository?
Start with your use case, compare repository activity, and check the original project before adopting it.
- Search by repository name, owner or description, then narrow the results by topic.
- Compare stars, forks and recent pushes. Stars show community interest, not a guarantee of quality.
- Read the README, license and issues on GitHub before using a project.
Sources and maintenance
“A repository is the most basic element of GitHub.”
GitHub Docs — About repositories ↗
- dart-archive/async · GitHub ↗
- GitHub Docs — Saving repositories with stars ↗
- Directory maintained by Ducafecat ↗