如何在TaskAwaiters数组上执行WhenAll?

时间:2017-05-19 15:39:16

标签: c# task-parallel-library

我正在使用一个API来返回不是任务的等待对象(事实上,它们是来自Google的Android API的PendingResult个实例)。我想等待所有这些的完成。但我只能等待当前模型下的一系列任务。

TPL的CTP具有TaskEx.WhenAll()扩展名,您可以使用它来等待TaskAwaiter个实例。但Task.WhenAll()仅适用于Task个实例。

如何在WhenAll个实例的数组上执行TaskAwaiter

1 个答案:

答案 0 :(得分:4)

  

TPL的CTP有一个TaskEx.WhenAll()扩展,您可以使用它来等待TaskAwaiter实例。

你确定吗?我不记得了。然后,很久以前,我可能不记得了。

  

我使用的界面返回一个不是任务的等待结果。一个等待的结果[那]有一个GetTaskAwaiter()方法。

如果它返回了一个等待的自定义,那么您可以使用INSERT /*+ append */ INTO TABLE2 SELECT * from TABLE1 where id = '1' ORDER BY stock desc / async将其转换为await

Task

并使用async Task DoSomethingAsync(string parameter) => await NonTaskAsync(parameter);

Select