2019年8月28日的测试代码如何优化?

2026-04-29 04:332阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计177个文字,预计阅读时间需要1分钟。

2019年8月28日的测试代码如何优化?

2019年8月28日,进行代码测试与验证。

2019年8月28日的测试代码如何优化?

2019-8-28测试代码

测试 C# 代码块

// 有返回值 public static async Task<TResult> TimeoutAfter<TResult>(this Task<TResult> task, TimeSpan timeout) { using (var timeoutCancellationTokenSource = new CancellationTokenSource()) { var completedTask = await Task.WhenAny(task, Task.Delay(timeout, timeoutCancellationTokenSource.Token)); if (completedTask == task) { timeoutCancellationTokenSource.Cancel(); return await task; // Very important in order to propagate exceptions } else { throw new TimeoutException("The operation has timed out."); } } } // 无返回值 public static async Task TimeoutAfter(this Task task, TimeSpan timeout) { using (var timeoutCancellationTokenSource = new CancellationTokenSource()) { var completedTask = await Task.WhenAny(task, Task.Delay(timeout, timeoutCancellationTokenSource.Token)); if (completedTask == task) { timeoutCancellationTokenSource.Cancel(); await task; // Very important in order to propagate exceptions } else { throw new TimeoutException("The operation has timed out."); } } }

本文共计177个文字,预计阅读时间需要1分钟。

2019年8月28日的测试代码如何优化?

2019年8月28日,进行代码测试与验证。

2019年8月28日的测试代码如何优化?

2019-8-28测试代码

测试 C# 代码块

// 有返回值 public static async Task<TResult> TimeoutAfter<TResult>(this Task<TResult> task, TimeSpan timeout) { using (var timeoutCancellationTokenSource = new CancellationTokenSource()) { var completedTask = await Task.WhenAny(task, Task.Delay(timeout, timeoutCancellationTokenSource.Token)); if (completedTask == task) { timeoutCancellationTokenSource.Cancel(); return await task; // Very important in order to propagate exceptions } else { throw new TimeoutException("The operation has timed out."); } } } // 无返回值 public static async Task TimeoutAfter(this Task task, TimeSpan timeout) { using (var timeoutCancellationTokenSource = new CancellationTokenSource()) { var completedTask = await Task.WhenAny(task, Task.Delay(timeout, timeoutCancellationTokenSource.Token)); if (completedTask == task) { timeoutCancellationTokenSource.Cancel(); await task; // Very important in order to propagate exceptions } else { throw new TimeoutException("The operation has timed out."); } } }