loadData method

dynamic loadData(
  1. dynamic onState(
    1. LoadState
    ),
  2. dynamic action()
)

带状态管理的异步数据加载方法

@param onState 状态回调函数(接收LoadState参数) @param action 实际执行的异步操作 @return Future

Implementation

loadData(Function(LoadState) onState, Function() action) async {
  onState(LoadState.init);
  WidgetsBinding.instance.addPostFrameCallback((timeStamp) async {
    if (mounted) {
      onState(LoadState.loading);
      await action();
      onState(LoadState.loaded);
    }
  });
}