submitAndFetch method
Future<void>
submitAndFetch({
- required DataSubmitter<
void> dataSubmitter, - Duration timeout = const Duration(seconds: 10),
Implementation
Future<void> submitAndFetch({
required DataSubmitter<void> dataSubmitter,
Duration timeout = const Duration(seconds: 10),
}) async {
if (fetchCubit == null || dataFetcher == null) {
emit(
SubmitFailed(
'${technicalErrorMessage ?? 'Technical error'} : fetchCubit = null || dataFetcher = null',
),
);
return;
}
final result = await _submit(dataSubmitter: dataSubmitter);
if (!isClosed) {
emit(switch (result) {
DataSubmitSucceed() ||
DataSubmitSucceedEmpty() =>
SubmitSucceed(result.message),
DataSubmitFailed() => SubmitFailed(
result.message,
exception: result.exception,
),
});
if (result is DataSubmitSucceed || result is DataSubmitSucceedEmpty) {
await fetchCubit!.refresh(dataFetcher: dataFetcher!);
}
}
}