fix: crash on unavailable source api
the screen not updating because of errors
This commit is contained in:
23
HomeApi/Extensions/ServiceCallExtensions.cs
Normal file
23
HomeApi/Extensions/ServiceCallExtensions.cs
Normal file
@@ -0,0 +1,23 @@
|
||||
namespace HomeApi.Extensions;
|
||||
|
||||
public static class ServiceCallExtensions
|
||||
{
|
||||
public static async Task<TResult?> TryCallAsync<TService, TResult>(
|
||||
this TService service,
|
||||
Func<TService, Task<TResult>> action,
|
||||
ILogger logger,
|
||||
string errorMessage)
|
||||
where TResult : class?
|
||||
{
|
||||
try
|
||||
{
|
||||
return await action(service);
|
||||
}
|
||||
catch (OperationCanceledException) { throw; }
|
||||
catch (Exception exception)
|
||||
{
|
||||
logger.LogError(exception, errorMessage);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user