(
primary: PFut,
fallback: F,
)
| 1084 | } |
| 1085 | |
| 1086 | async fn resolve_with_fallback<T, PFut, FFut, F>( |
| 1087 | primary: PFut, |
| 1088 | fallback: F, |
| 1089 | ) -> Result<T, ProviderError> |
| 1090 | where |
| 1091 | PFut: Future<Output = Result<T, ProviderError>>, |
| 1092 | F: FnOnce(ProviderError) -> FFut, |
| 1093 | FFut: Future<Output = Result<T, ProviderError>>, |
| 1094 | { |
| 1095 | match primary.await { |
| 1096 | Ok(value) => Ok(value), |
| 1097 | Err(err) => fallback(err).await, |
| 1098 | } |
| 1099 | } |
| 1100 | |
| 1101 | #[cfg(test)] |
| 1102 | mod tests { |
no outgoing calls
no test coverage detected