我正在使用riverpod作为我的flutter项目的状态管理,目前正在开发auth服务。我正在使用AuthNotifier扩展AsyncNotifier。问题是当我调用AuthService时,例如:
Future<void> logout() async {
state = const AsyncValue.loading();
state = await AsyncValue.guard(() async {
return await authService.logout();
});
state.when(
data: (data){},
error: (error, stackTrace){
ref.read(errorProvider.notifier).createException(exception: error.toString(), errorTitle: "Logout Error");
},
loading: (){},
);
}
我只使用了state.when中的error,但我也有这个未使用的代码。
我试着寻找状态或状态的方法,但找不到任何东西,因为答案不在那里,或者因为我没有看到它。如果任何人在处理通知程序中的错误时有其他选择,我愿意接受建议。
1条答案
按热度按时间zbsbpyhn1#
使用
whenOrNull
/mapOrNull
或maybeWhen
/maybeMap
仅处理某些状态,例如: