Files
Wireless_Eink_HomeScreen/HomeApi/Extensions/ServiceCallExtensions.cs
Myx f0344bd3ba fix: crash on unavailable source api
the screen not updating because of errors
2025-08-14 17:02:48 +02:00

23 lines
584 B
C#

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;
}
}
}