c# await task code example
Example 1: how to await a task c#
private async void myEvent()
{
Task myTask = MyFunction(); // MyFunction should return a task!
var result = await myTask;
}
private void SomeFunction()
{
// some code
// .....;
//
myEvent?.Invoke(); // Invoke myEvent -> myEvent is async
Task.WaitAny(myTask);
if(myTask.isCompleted)
DoSomething();
}
Example 2: microsoft asynchronous programming
var allTasks = new List<Task>{eggsTask, baconTask, toastTask};
while (allTasks.Any())
{
Task finished = await Task.WhenAny(allTasks);
if (finished == eggsTask)
{
Console.WriteLine("eggs are ready");
}
else if (finished == baconTask)
{
Console.WriteLine("bacon is ready");
}
else if (finished == toastTask)
{
Console.WriteLine("toast is ready");
}
allTasks.Remove(finished);
}
Juice oj = PourOJ();
Console.WriteLine("oj is ready");
Console.WriteLine("Breakfast is ready!");