जब आप 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 इंटरफ़ेस के अपने कार्यान्वयन को वेब एपि एक्शन में उपयोग करने के लिए बना रहे हैं। ExecuteAsync विधि अतुल्यकालिक होने की उम्मीद है, लेकिन आपको इसे अतुल्यकालिक और प्रतीक्षा योग्य बनाने के लिए async कीवर्ड का उपयोग करने की आवश्यकता नहीं है। चूँकि आपके पास पहले से ही परिणाम है और आपको Task.FromResult का उपयोग करने के लिए बेहतर कुछ भी इंतजार करने की आवश्यकता नहीं है।