namespace PMSWPF.Extensions; /// /// 任务扩展类,提供异步任务的扩展方法。 /// public static class TaskExtensions { /// /// 等待一个没有返回值的 Task 完成,并提供错误处理和完成时的回调。 /// /// 要等待的 Task。 /// 发生异常时的回调函数。 /// 任务成功完成时的回调函数。 public static async Task Await(this Task task, Action onError = null, Action onComplete = null) { try { await task; onComplete?.Invoke(); } catch (Exception e) { onError?.Invoke(e); } } /// /// 等待一个有返回值的 Task 完成,并提供错误处理和完成时的回调。 /// /// Task 的返回结果类型。 /// 要等待的 Task。 /// 发生异常时的回调函数。 /// 任务成功完成时的回调函数,接收任务的返回结果。 public static async Task Await(this Task task, Action onError = null, Action onComplete = null) { try { T res= await task; onComplete?.Invoke(res); } catch (Exception e) { onError?.Invoke(e); } } }