You don't get a return value from Task.WaitAll
. You only use it to wait for completion of multiple tasks and then get the return value from the tasks themselves.
var task1 = GetAsync(1);
var task2 = GetAsync(2);
Task.WaitAll(task1, task2);
var result1 = task1.Result;
var result2 = task2.Result;
If you only have a single Task
, just use the Result
property. It will return your value and block the calling thread if the task hasn't finished yet:
var task = GetAsync(3);
var result = task.Result;
It's generally not a good idea to synchronously wait (block) on an asynchronous task ("sync over async"), but I guess that's fine for a POC.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…