我正在学习Dart。这是我的代码:
class MyClass {
MyClass() {
stream = Stream<int>.periodic(Duration(seconds: 1), (t) => t + 1).take(3);
myStreamController.addStream(stream);
Future.delayed(Duration(seconds: 2), () {
myStreamController.addStream(42); // but 42 is digit, not stream!
});
}
}
工作代码:
class MyClass {
MyClass() {
stream = Stream<int>.periodic(Duration(seconds: 1), (t) => t + 1).take(3);
myStreamController.addStream(stream).then(
(done) {
Future.delayed(Duration(seconds: 2), () {
myStreamController.addStream( Stream.value(42) );
});
}
);
}
}
如何为Stream增加价值?
答案 0 :(得分:0)
查看Stream.value构造函数:
创建一个在完成之前发出单个数据事件的流。
此流发出一个值的数据事件,然后完成 完成的事件。
https://api.dart.dev/stable/2.5.0/dart-async/Stream/Stream.value.html