Dart/Flutter 计时器后的屈服状态
Dart/Flutter Yield state after timer
我正在使用 flutter_bloc
,但我不确定如何从回调中产生状态。
我试图在暂停后启动计时器和 return 一个新状态。我使用计时器的原因是能够取消以前的计时器,因此它总是 return 在空闲状态后进入新状态。
@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()
方法中看不到。
状态应该由您当前正在处理的 bloc 中使用的流产生。喜欢
mapEventToState
我正在使用 flutter_bloc
,但我不确定如何从回调中产生状态。
我试图在暂停后启动计时器和 return 一个新状态。我使用计时器的原因是能够取消以前的计时器,因此它总是 return 在空闲状态后进入新状态。
@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()
方法中看不到。
状态应该由您当前正在处理的 bloc 中使用的流产生。喜欢
mapEventToState