【发布时间】:2021-09-12 06:52:37
【问题描述】:
我正在用颤振流做一些实验。我有一个生成int 流的类。这是课程:
class CounterRepository {
int _counter = 123;
void increment() {
_counter++;
}
void decrement() {
_counter--;
}
Stream<int> watchCounter() async* {
yield _counter;
}
}
我预计随着_counter 的变化,watchCounter() 将产生更新的counter 值。当我从 UI 调用 increment() 或 decrement() 时,_counter 的值似乎正在改变,但 watchCounter 不会产生更新后的 _counter 值。如何在此处生成更新的_counter 值?我正在使用 UI 中的StreamBuilder 来获取流式数据。
【问题讨论】:
-
使用
StreamController- 更多:dart.dev/articles/libraries/creating-streams -
如何在
watchCounter()中添加increment和decrement的事件?你能解释一下吗? -
void increment() => ctrl.add(++_counter);和Stream<int> watchCounter() => ctrl.stream; -
谢谢。还有一个问题,在这种情况下,我应该什么时候关闭
StreamController? -
在
State.dispose方法中?
标签: flutter flutter-streambuilder