What is the Difference Between Awaiter (GetAwaiter

2019-06-21 06:13发布

问题:

In .net 4.0, I use Task.ContinueWith regularly. But then I spotted "task.GetAwaiter()" which seems to have the same purpose.

What is the difference?

回答1:

If you're targeting .NET 4, you'd use ContinueWith.

In general, you wouldn't normally use task.GetAwaiter(). This method exists in order to support the await keyword, and is not part of .NET 4 (it's added in 4.5). This isn't something you'd typically use directly yourself, but instead write it as part of an async method.