Я смотрел на объяснение async
- await
, что сказалВерно ли, что асинхронное ожидание функционально эквивалентно продолжению задачи?
async Task<int> IndexWordsFromAsync(string url)
{
string content = await httpClient.GetStringAsync(url);
int wordCount = AddContentToIndex(content);
return wordCount;
}
int AddContentToIndex(string content)
{
...
}
эквивалентно
Task<int> task = IndexWordsFromAsync(url);
var currentContext = SynchronizationContext.Current;
task.ContinueWith(delegate
{
if(currentContext == null)
RestOfMethod();
else
currentContext.Post(delegate { RegstOfMethod(); }, null);
}, TaskScheduler.Current);
Может кто-то подтвердить, насколько это правда? Или вы можете связать меня где-нибудь в Интернете, который описывает async
- await
таким образом?