Await on the last method line
.net, async-await, c#, c#-5.0
Solution
There actually is a "method remainder" - it completes the `Task` returned by `MethodAsync`.
(The return value of) `Method02Async` is awaited so that `MethodAsync` is not completed until `Method02Async` completes.
If you had:
public async Task MethodAsync()
{
await Method01Async();
Method02Async();
}
Then the `MethodAsync` will (asynchronously) wait for `Method01Async` to complete and then start `Method02Async`. `MethodAsync` will then complete while `Method02Async` may still be in progress.
The way you have it:
public async Task MethodAsync()
{
await Method01Async();
await Method02Async();
}
Means that `MethodAsync` will (asynchronously) wait for `Method01Async` to complete and then (asynchronously) wait for `Method02Async` to complete, and only then will `MethodAsync` complete.
Problem
Still learning about async-await. I bumped into examples similar to following: ``` public async Task MethodAsync() { await Method01Async(); await Method02Async(); } ``` What is the purpose of the last await? Method02Async is the last line of MethodAsync method. So there is no any method remainder - no any lines below - no anything to be called in the callback generated by the compiler... Am I missing anything?