Rob*_*don 1 c# task-parallel-library
我正在使用一个 API,该 API 返回不是任务的可等待对象(事实上,它们是PendingResult来自 Google 的 Android API 的实例)。我想等待所有这些都完成。但在当前模型下我只能等待一系列任务。
TPL 的 CTP 有一个TaskEx.WhenAll()扩展,您可以使用它来等待TaskAwaiter实例。但Task.WhenAll()仅适用于Task实例。
如何WhenAll对实例数组执行操作TaskAwaiter?
TPL 的 CTP 有一个 TaskEx.WhenAll() 扩展,您可以使用它来等待 TaskAwaiter 实例。
你确定吗?我不记得了。再说一遍,那是很久以前的事了,所以我可能不记得了。
我正在使用一个返回可等待结果的接口,该结果不是任务。可等待的结果具有 GetTaskAwaiter() 方法。
如果它返回自定义可等待,那么您只需使用async/await将其转换为Task:
async Task DoSomethingAsync(string parameter) => await NonTaskAsync(parameter);
Run Code Online (Sandbox Code Playgroud)
Select并这样使用:
string[] parameters = ...;
var tasks = parameters.Select(DoSomethingAsync);
await Task.WhenAll(tasks);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
275 次 |
| 最近记录: |