Task扩展
Task扩展的类名为 TaskExtension
,是对 System.Threading.Tasks.Task
的扩展。
1、作为同步执行
AsSync 方法可以将 Task
或 Task<T>
作为同步执行并返回结果。如下所示:
[TestMethod]
public void TestAsSync()
{
var task = Task.Run(() => new HttpClient().GetAsync("http://www.fireasy.cn"));
var message = task.AsSync();
}
2、等待结果
Await 方法可以等待 Task
或 Task<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;
}