2025-06-13 18:54:17 +08:00
|
|
|
|
namespace PMSWPF.Extensions;
|
|
|
|
|
|
|
|
|
|
|
|
public static class TaskExtensions
|
|
|
|
|
|
{
|
2025-06-23 17:01:06 +08:00
|
|
|
|
public static async Task Await(this Task task, Action<Exception> onError = null, Action onComplete = null)
|
2025-06-13 18:54:17 +08:00
|
|
|
|
{
|
|
|
|
|
|
try
|
|
|
|
|
|
{
|
|
|
|
|
|
await task;
|
|
|
|
|
|
onComplete?.Invoke();
|
|
|
|
|
|
}
|
|
|
|
|
|
catch (Exception e)
|
|
|
|
|
|
{
|
|
|
|
|
|
onError?.Invoke(e);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2025-06-28 19:32:51 +08:00
|
|
|
|
public static async Task Await<T>(this Task<T> task, Action<Exception> onError = null, Action<T> onComplete = null)
|
|
|
|
|
|
{
|
|
|
|
|
|
try
|
|
|
|
|
|
{
|
|
|
|
|
|
T res= await task;
|
|
|
|
|
|
onComplete?.Invoke(res);
|
|
|
|
|
|
}
|
|
|
|
|
|
catch (Exception e)
|
|
|
|
|
|
{
|
|
|
|
|
|
onError?.Invoke(e);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2025-06-13 18:54:17 +08:00
|
|
|
|
}
|