manualStateExample function
void
manualStateExample()
手动管理状态示例
如果不想使用扩展方法,可以直接使用状态类
Implementation
void manualStateExample() {
// 手动创建状态
DKStateQuery<String> state = DkStateQueryIdle();
// 手动切换状态
state = DkStateQueryLoading();
state = DkStateQuerySuccess('数据');
state = DkStateQueryError('错误信息');
state = DkStateQueryEmpty();
// 状态判断
if (state.isLoading) {
print('加载中');
} else if (state.isSuccess) {
print('成功: ${state.data}');
} else if (state.isError) {
print('错误: ${state.errorMessage}');
} else if (state.isEmpty) {
print('空数据');
} else if (state.isIdle) {
print('空闲');
}
// Event 状态同理
DKStateEvent<String> event = DKStateEventIdle();
event = DKStateEventLoading('run-id-123');
event = DKStateEventSuccess('run-id-123', '数据');
event = DKStateEventError('run-id-123', '错误信息');
debugPrint('Event: $event'); // 使用变量避免警告
}