क्या कोई कृपया पुष्टि करने के लिए पर्याप्त हो सकता है कि क्या मैंने Async प्रतीक्षा कीवर्ड को सही ढंग से समझा है? (CTP के संस्करण 3 का उपयोग करते हुए)
इस प्रकार अब तक मैंने काम किया है कि एक विधि कॉल करने से पहले प्रतीक्षा कीवर्ड सम्मिलित करना 2 चीजें अनिवार्य रूप से करता है, ए। यह एक तत्काल रिटर्न बनाता है और बी। यह एक "निरंतरता" बनाता है जिसे एस्किंक विधि के आह्वान के पूरा होने पर आमंत्रित किया जाता है। किसी भी मामले में निरंतरता विधि के लिए कोड ब्लॉक का शेष है।
इसलिए जो मैं सोच रहा हूं कि क्या ये दो बिट्स कोड तकनीकी रूप से समतुल्य हैं, और यदि ऐसा है, तो क्या इसका मूल रूप से यह अर्थ है कि प्रतीक्षा कीवर्ड एक कंटिन्यू लैम्ब्डा बनाने के समान है (यानी: मूल रूप से एक के लिए एक कंपाइलर शॉर्टकट)? यदि नहीं, तो अंतर क्या हैं?
bool Success =
await new POP3Connector(
"mail.server.com", txtUsername.Text, txtPassword.Text).Connect();
// At this point the method will return and following code will
// only be invoked when the operation is complete(?)
MessageBox.Show(Success ? "Logged In" : "Wrong password");
बनाम
(new POP3Connector(
"mail.server.com", txtUsername.Text, txtPassword.Text ).Connect())
.ContinueWith((success) =>
MessageBox.Show(success.Result ? "Logged In" : "Wrong password"));