Есть ли лучший способ написать этот асинхронный код (например, чтобы мне не приходилось повторять if (myCondition) дважды)? Я хочу здесь избежать использования Task.Run.
var tasks = new List();
Task t1 = null;
Task t2 = null;
if (myCondition) {
t1 = getAsync();
tasks.Add(t1);
}
if (myOtherCondition) {
t2 = getAsync2();
tasks.Add(t2);
}
await Task.WhenAll(tasks)
if (myCondition) {
result.foo = await t1;
}
if (myOtherCondition) {
result.bar = await t2;
}
Подробнее здесь: https://stackoverflow.com/questions/694 ... ask-whenal
Избегайте двойной проверки условия при назначении из задачи, ожидаемой с помощью Task.WhenAll(). ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Почему вызов неоднозначен между Task.Run
(Func ) и Task.Run(Func ) при передаче имени метода
Anonymous » » в форуме C# - 0 Ответы
- 102 Просмотры
-
Последнее сообщение Anonymous
-
-
-
AggregateException из Task.WhenAll содержит только первое исключение при ожидании
Anonymous » » в форуме C# - 0 Ответы
- 23 Просмотры
-
Последнее сообщение Anonymous
-