AsyncOverSimplified.MoreRealisticAsyncWorker.DoWorkWithoutAwait C# (CSharp) Method

DoWorkWithoutAwait() public method

public DoWorkWithoutAwait ( ) : Task
return Task
        public Task<int> DoWorkWithoutAwait()
        {
            int count = 0;
            Task<int> final;

            Task<int> startTask = GetCountAsync("x");

            final =
            startTask.ContinueWith(taskX =>
            {
                int resultX = taskX.Result;
                count = count + resultX;
                Console.WriteLine("X Count is " + count);
            })
            .ContinueWith(tmp =>
            {
                return GetCountAsync("y").Result;
            })
            .ContinueWith(ty =>
            {
                int resultY = ty.Result;
                count = count + resultY;
                Console.WriteLine("Y Count is " + count);
            })
            .ContinueWith(tmp =>
            {
                return GetCountAsync("z").Result;
            })
            .ContinueWith(tz =>
            {
                int resultZ = tz.Result;
                count = count + resultZ;
                Console.WriteLine("Z Count is " + count);
            })
            .ContinueWith(_ => count);

            return final;
        }

Usage Example

Exemplo n.º 1
0
 /// <summary>
 /// Runs all 3 variations of the MoreRealistic code to ensure
 /// they all have the same result
 /// </summary>
 /// <returns></returns>
 static async Task MoreRealisticMainAsync()
 {
     var worker = new MoreRealisticAsyncWorker();
     await worker.DoWork();
     await worker.DoWorkExplicitTasks();
     await worker.DoWorkWithoutAwait();
 }
All Usage Examples Of AsyncOverSimplified.MoreRealisticAsyncWorker::DoWorkWithoutAwait