presentBroadcastStream method

void presentBroadcastStream()

samples of broadcast stream

Implementation

void presentBroadcastStream() {
  var data = intList;
  var stream = new Stream.fromIterable(data);
  var broadcastStream = stream.asBroadcastStream();

  broadcastStream
      .where((value) => value % 2 == 0) // divisible by 2
      .listen((value) => print("pBS::  where: $value")); // where: 2
  // where: 4

  broadcastStream
      .take(3) // takes only the first three elements
      .listen((value) => print("pBS::  take: $value")); // take: 1
  // take: 2
  // take: 3

  broadcastStream
      .skip(3) // skips the first three elements
      .listen((value) => print("pBS::  skip: $value")); // skip: 4
  // skip: 5

  broadcastStream
      .takeWhile((value) => value < 3) // take while true
      .listen((value) => print("pBS::  takeWhile: $value")); // takeWhile: 1
  // takeWhile: 2

  broadcastStream
      .skipWhile((value) => value < 3) // skip while true
      .listen((value) => print("pBS:: skipWhile: $value")); // skipWhile: 3
  // skipWhile: 4
  // skipWhile: 5
}