private static Task <int> MultipleLoaderTask(DataLoaderContext context) { var task1 = context.GetOrCreateLoader(async token => { await Task.Delay(20, token); return(4); }).LoadAsync(); return(task1.ContinueWith(async t1 => { var a = t1.Result; var task2 = context.GetOrCreateLoader(async token => { await Task.Delay(20, token); return 5; }).LoadAsync(); return await task2.ContinueWith(t2 => { var b = t2.Result; return a + b; }, TaskContinuationOptions.None); }, TaskContinuationOptions.None).Unwrap()); }
private static Task <int> SingleLoaderTask(DataLoaderContext context) => context.GetOrCreateLoader(token => Task.Run(() => { Thread.Sleep(7); return(7); }, token)).LoadAsync();