Single-subscription streams versus broadcast streams
The Dart stream framework supports the single-subscription and broadcast streams in order to have different approaches depending on the required solution. Let's see the difference between single-subscription and broadcast streams.
A single-subscription stream
A stream that allows you to have only one listener during the entire lifetime is called a single-subscription stream. You are not allowed to cancel and subscribe to the same stream again. The newly created stream starts generating events only after the subscription starts listening to them. It stops generating events after the subscription is canceled even if the stream can provide more. The single-subscription stream always delivers each event in the correct order to a listener.
Note
Use single-subscription streams when the event delivery and its order are important for your solution.
A good usage example of a single-subscription stream is getting data from the file or server.