繁体   English   中英

定时器后飞镖/颤振产量 state

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM