Re[8]: Можно ли избавиться от async|await?
От: hi_octane Беларусь  
Дата: 14.12.25 18:27
Оценка:
SD>Запускаешь 3 функции в параллель, которая первой ответила — тот результат и возвращаем.

На C# для такой задачи ПМ только усложнять задачу. Вот полная консольная программа. Выведет: Finished in 100 ms.

static async Task<string> Para1(int delay)
{
    await Task.Delay(delay);
    return $"Finished in {delay} ms";
}

//в этой одной строке - 3 запустятся в параллель, результатом будет та, которая первой ответила
var t = await Task.WhenAny(Para1(2000), Para1(100), Para1(500));
Console.WriteLine(t.Result); //вместо t.Result можно использовать await t
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.