当我尝试从 StreamTransform 获取一些数据时遇到一些问题

我无法理解这里的正确数据类型是什么

未捕获的异常:
类型错误:“_StreamHandlerTransformer”的实例:“_StreamHandlerTransformer”类型不是“StreamTransformer,动态>”类型的子类型

import 'dart:async';
class Cake{}

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

void main(){
  final controller = new StreamController();

  final order = new Order('vainilla');

 final baker = StreamTransformer.fromHandlers(
       handleData: (cakeType, sink){
           print(cakeType);
           if(cakeType == 'chocolate'){
              sink.add(new Cake());
           }else{
             sink.addError("No puedo hacer este pastel");
           }
       }
 );

  controller.sink.add(order);
  controller.stream
    .map((resp) =>  { print(resp.type) } ) //maybe the sour of  the problem type is here
    .transform(baker)
    .listen( (cake) => print('aquí esta su pastel $cake'),
              onError: (err) => print(err)
           );
}


最佳答案

您需要在 handleData 回调中指定类型。

final baker = StreamTransformer.fromHandlers(
      handleData: (Set cakeType, sink){
        print(cakeType);
        if(cakeType == 'chocolate'){
          sink.add(new Cake());
        }else{
          sink.addError("No puedo hacer este pastel");
        }
      }
  );

关于flutter - '_StreamHandlerTransformer<dynamic, dynamic>' 类型不是 'StreamTransformer<Set<void>, dynamic>' 类型的子类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56686965/

10-11 19:22
查看更多