[英]Dart/Flutter Yield state after timer
我正在使用flutter_bloc
,但我不確定如何從回調中產生 state。 我正在嘗試啟動計時器並在暫停后返回一個新的 state。 我使用計時器的原因是為了能夠取消前一個計時器,因此它總是在空閑 state 之后返回一個新的 state。
@override
Stream<VerseState> mapEventToState(
VerseEvent event,
) async* {
if (event is ABCEvent) {
Timer(const Duration(seconds: 3), () {
print("Here");
_onTimerEnd(); // adding yield here returns an error.
})
}
Stream<XYZState> _onTimerEnd() async* {
print("Yielding a state");
yield myNewState();
}
我可以看到代碼正在進入計時器回調,因為我可以在回調中看到打印語句,但在timerEnd()
方法中看不到。
State 應該由您當前正在處理的 bloc 中使用的 stream 產生。 喜歡
mapEventToState
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.