2
我在看一个视频名为Becoming a C# Time Lord,在0点35分三十六秒这段代码弹出等待:双在一个呼叫
async Task<TResult[]> PurelyWhenAll<TResult> (params Task<TResult>[] tasks)
{
var killJoy = new TaskCompletionSource<TResult[]>();
foreach (var task in tasks)
task.ContinueWith(ant =>
{
if (ant.IsCanceled)
killJoy.TrySetCanceled();
else if (ant.IsFaulted)
killJoy.TrySetException(ant.Exception.InnerException);
});
return await await Task.WhenAny(killJoy.Task, Task.WhenAll(tasks));
}
这是否意味着一个任务返回一个任务,因为我们有双等待?如果这种情况发生,如果我们有两次以上的等待时间会发生什么?这是好的做法,是否应该避免?
请将代码改为* text *而不是图片。 –