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

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

автор 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
1 сообщений из 1, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Слишком много awayt
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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