Асинхронное выполнение в контроллере Web.Api .NET Core
Есть ли другой способ вызова сервиса с помощью async/await:
[HttpPost]
public async Task<SmthResponce> AddSmth([FromBody] SmthRequest smthRequest)
{
return await smthsService.AddSmthAsync(smthRequest);
}
и без:
[HttpPost]
public Task<SmthResponce> AddSmth([FromBody] SmthRequest smthRequest)
{
return smthsService.AddSmthAsync(smthRequest);
}
1 ответ
Решение
С точки зрения звонящих, нет никакой разницы; тем не мение...
Первый метод (ожидание) включает в себя создание дополнительной задачи, которая будет завершена после завершения внутренней задачи.
Второй метод (возвращающий Задачу напрямую, когда это возможно) является предпочтительным.