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 *而不是圖片。 –