में इस MSDN लेख , निम्न उदाहरण कोड प्रदान की जाती है (थोड़ा संक्षिप्तता के लिए संपादित):
public async Task<ActionResult> Details(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Department department = await db.Departments.FindAsync(id);
if (department == null)
{
return HttpNotFound();
}
return View(department);
}
FindAsyncविधि एक को पुन: प्राप्त Departmentअपने आईडी के आधार पर वस्तु, और एक रिटर्न Task<Department>। फिर विभाग को यह देखने के लिए तुरंत चेक किया जाता है कि क्या यह अशक्त है। जैसा कि मैं इसे समझता हूं, इस तरह से टास्क के मूल्य के लिए पूछना कोड निष्पादन को रोक देगा जब तक कि प्रतीक्षित विधि से मूल्य वापस नहीं आता है, प्रभावी ढंग से इसे एक तुल्यकालिक कॉल बनाता है।
आप ऐसा कभी क्यों करेंगे? Find(id)यदि आप तुरंत किसी भी तरह से ब्लॉक करने जा रहे हैं, तो क्या केवल तुल्यकालिक विधि को कॉल करना आसान नहीं होगा ?
... else return null;फिर आपको यह जांचना होगा कि विधि वास्तव में आपके द्वारा मांगे गए विभाग को मिली है या नहीं।