🗣 Третьего дня сели с Пашей Кириллиным перетереть за жизнь и как-то зацепились за предыдущий пост. И соответственно возник такой вопрос. Предположим есть у вас репозиторий, который достает там что-то из базы. вы его можете написать вот так:
public class Repository
{
public Task<string> GetAsync()
{
return Task.FromResult("123");
}
}
❓Вопрос, нужОн ли здесь async await? Думаю вы уже догадались, что не нужОн. Но вот вопрос, а почему? На самом деле ответ был постом выше – такое решение приведет к генерации лишней стейт машины при вызове метода.
Опять же, я искренне думал, что компилятор как-то умно это обработает и не даст случиться беде. Но, как обычно, думать нужно головой, а не о компиляторах.
Ну и вот диффы для сравнения: https://quickdiff.net/?unique_id=BE81872D-7947-BF93-D398-3B6D0E321A05
🅰️Итого: избегаем async await в однострочных методах. Но, сеньоры, давайте уже признаемся, что мы все давно уже пользуемся этими async await-ами просто потому что они прикольные! Так что если очень хочется, то оставляйте – никто вас не поругает)))