我正在使用 Flutter 构建一个移动应用程序,其中我使用了 flutter_redux和redux_thunk。我想实现两种定时操作:
每 N 秒调度一次特定动作(重复)
N 秒后调度一次动作,可能来自一个 thunk 动作(单次运行)
有没有包装这个逻辑的包?您建议的实现这两种预定操作的方法是什么?
我正在使用 Flutter 构建一个移动应用程序,其中我使用了 flutter_redux和redux_thunk。我想实现两种定时操作:
每 N 秒调度一次特定动作(重复)
N 秒后调度一次动作,可能来自一个 thunk 动作(单次运行)
有没有包装这个逻辑的包?您建议的实现这两种预定操作的方法是什么?
我认为你不需要专门为 Flutter Redux 做任何特别的事情。在 Dart 中,执行周期性操作的一般方法是使用Timer.periodic
:
Timer.periodic(Duration(seconds: N), () => store.dispatch(action));
对于非周期性操作,您可以使用非周期性Timer
或使用Future.delayed
. (Timer
使您能够轻松取消它,但Future
为调用者提供了一种更直接的方式来指定如何处理异常。)