Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Слишком много awayt / 1 сообщений из 1, страница 1 из 1
07.07.2014, 19:55
    #38689769
HomeCoder
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком много awayt
Разберём одно место из статьи .

Конкретно, место

автор Redundancy

Consider a case where you want to make a decision about whether to buy a stock...

Там есть код

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
var recommendations = new List<Task<bool>>() 
{ 
    GetBuyRecommendation1Async(symbol), 
    GetBuyRecommendation2Async(symbol),
    GetBuyRecommendation3Async(symbol)
};
Task<bool> recommendation = await Task.WhenAny(recommendations);
if (await recommendation) BuyStock(symbol);



Вопрос: зачем awayt в последней строке? Ведь и так уже есть ожидание в предпоследней строке.

Внизу пишут

авторUnlike WhenAll, which returns the unwrapped results of all tasks that completed successfully, WhenAny returns the task that completed. If a task fails, it’s important to know that it failed, and if a task succeeds, it’s important to know which task the return value is associated with. Therefore, you need to access the result of the returned task, or further await it, as this example shows.
Но ведь при выполнении метода WhenAny возвращаемая задача уже должна быть завершена, иначе она бы не вернулась - это всё по логике WhenAny. Чего ещё там дальнейшего ожидать ("or further await it")?
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Слишком много awayt / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]