-
Notifications
You must be signed in to change notification settings - Fork 0
Async await
irxground edited this page Mar 4, 2013
·
2 revisions
T obj;
Task<T> task;
// T -> Task T
return Task.FromResult(obj);
// Task T -> T
return task.Result; // blocking!
// Task T -> (T -> TResult) -> Task TResult
Func<T, TResult> func;
return task.ContinueWith(t => func(t.Result));
return task.Select(func); // TODO
// Task T -> (T -> Task TResult) -> Task TResult
Func<T, Task<TResult>> func;
return task.ContinueWith(t => func(t.Result)).Unwrap();
return task.SelectMany(func); // TODO