Используйте его, когда вы хотите создать ожидаемый метод без использования ключевого слова async. Я нашел этот пример:
public class TextResult : IHttpActionResult
{
string _value;
HttpRequestMessage _request;
public TextResult(string value, HttpRequestMessage request)
{
_value = value;
_request = request;
}
public Task<HttpResponseMessage> ExecuteAsync(CancellationToken cancellationToken)
{
var response = new HttpResponseMessage()
{
Content = new StringContent(_value),
RequestMessage = _request
};
return Task.FromResult(response);
}
}
Здесь вы создаете собственную реализацию интерфейса IHttpActionResult для использования в действии Web Api. Ожидается, что метод ExecuteAsync будет асинхронным, но вам не нужно использовать ключевое слово async, чтобы сделать его асинхронным и ожидаемым. Поскольку у вас уже есть результат и вам не нужно ничего ждать, лучше использовать Task.FromResult.