Csharp/C#教程:立即返回任务分享


立即返回任务

我有一份任务列表,我想等待。 我在等

await TaskEx.WhenAll(MyViewModel.GetListOfTasks().ToArray()); 

MyViewModel.GetListOfTasks()返回任务列表:

  var tasksList = new List(); foreach (var item in Items) { tasksList.Add(item.MyTask()); } 

现在,我想返回虚假任务,这将立即完成。 但是,TaskEx.WhenAll会永远等待它:

  public Task MyTask() { return new Task(() => false); } 

我怎样才能返回任务,这将立即完成?

在.NET 4.5中,您可以使用FromResult立即返回任务的结果。

 public Task MyTask() { return TaskEx.FromResult(false); } 

https://msdn.microsoft.com/en-us/library/hh228607%28v=vs.110%29.aspx


对于Windows Phone 8.1及更高版本, API已合并为与其他平台一致:

 public Task MyTask() { return Task.FromResult(false); } 

在.NET 4.5之前,您可以使用TaskCompletionSource来模拟FromResult方法。

上述就是C#学习教程:立即返回任务分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 public static Task FromResult(TResult result) { var completionSource = new TaskCompletionSource(); completionSource.SetResult(result); return completionSource.Task; } 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/955685.html

(0)
上一篇 2021年11月21日
下一篇 2021年11月21日

精彩推荐