ใช้มันเมื่อคุณต้องการสร้างวิธีที่ไม่สามารถรอได้โดยไม่ต้องใช้คำหลัก 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