当我尝试从 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/