Wednesday, April 3, 2019

Dart Stream



import 'dart:async';

class  Cake{}
class Order{
  String type;
  Order(this.type);
}

main() async {

  final streamController = StreamController();
  final order = new Order('chocolate');

  final baker = new StreamTransformer.fromHandlers(
  handleData: (cakeType, sink){
    if (cakeType == 'chocolate'){
      sink.add(new Cake());
    }else{
     sink.addError("I can't bake that Cake!!!") ;
    }
  }
  );

  streamController.sink.add(order);

  streamController.stream.map((order) => order.type).
    transform(baker)
    .listen(
    (cake) => print('Here your cake $cake'),
    onError: (err)=> print(err)
           );
}

No comments:

Post a Comment