Використовуйте його, коли ви хочете створити очікуваний метод без використання ключового слова 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 Action. Очікується, що метод ExecuteAsync буде асинхронним, але вам не потрібно використовувати ключове слово async, щоб зробити його асинхронним та очікуваним. Оскільки ви вже маєте результат і не потрібно нічого чекати, краще скористатися Task.FromResult.