【发布时间】:2020-07-10 12:59:11
【问题描述】:
我创建了一个简单的流,添加一些元素并监听流。但是当我在流上使用地图时出现问题。为简单起见,我只是将值映射到相同的值(我猜?)。
当我尝试运行程序时出现地图错误:
Uncaught Error: TypeError: Instance of '_MapStream<String, dynamic>': type '_MapStream<String, dynamic>' is not a subtype of type 'Stream<String>'
import 'dart:async';
void main() async {
StreamController controller = StreamController<String>.broadcast();
final StreamTransformer transformer = StreamTransformer<String, String>.fromHandlers(
handleData: (data, EventSink sink) {
sink.add(data);
}
);
Stream stream = controller.stream;
stream
.map((value) => value) // <-- Problem in this line
.transform(transformer)
.listen(
(data) {
print('listen: $data');
},
onError: (err) => print(err));
controller.add('foo');
controller.add('baa');
controller.close();
}
【问题讨论】:
标签: dictionary dart stream