Task扩展


  Task扩展的类名为 TaskExtension,是对 System.Threading.Tasks.Task 的扩展。

1、作为同步执行

  AsSync 方法可以将 TaskTask<T> 作为同步执行并返回结果。如下所示:

[TestMethod]
public void TestAsSync()
{
    var task = Task.Run(() => new HttpClient().GetAsync("http://www.fireasy.cn"));
    var message = task.AsSync();
}

2、等待结果

  Await 方法可以等待 TaskTask<T> 的返回结果。如下所示:

[TestMethod]
public void TestAwait()
{
    var func = new Func<string, Task<HttpResponseMessage>>(url => new HttpClient().GetAsync(url));
    var task = func.Await("http://www.fireasy.cn");
    var message = task.Result;
}