This article covers one of the fundamentals of reactive programming: streams, which are objects of type [Stream](https://api.dart.dev/stable/dart-async/Stream-class.html).

If you’ve read the previous article on futures, you might remember that each future represents a single value (either an error or data) that it delivers asynchronously. Streams work similarly, but instead of a single thing, **a stream can deliver zero or more values and errors **over time.

This article is the third one based on the Flutter in Focus video series Asynchronous Programming in Dart. The first article, Isolates and event loops, covered the foundations of Dart’s support for background work. The second one, Futures, discussed the _Future_ class.

If you think about the way a single value relates to an iterator of the same type, that’s how a future relates to a stream.

Image for post

#dartlang #flutter #programming #asynchronous-programming #programming-languages

Dart asynchronous programming: Streams
2.20 GEEK