मैं निम्नलिखित कोड है:Async lambda अभिव्यक्ति प्रतीक्षा रिटर्न कार्य के साथ?
// Get all of the files from the local storage directory.
var files = await folder.GetFilesAsync();
// Map each file to a stream corresponding to that file.
var streams = files.Select(async f => { return await f.OpenStreamForWriteAsync(); });
मैं streams
प्रकार IEnumerable<Stream>
के होने की अपेक्षा करेंगे लेकिन वास्तव में यह IEnumberable<Task<Stream>>
की है, जो है जो मैं उम्मीद गए हैं मैं इंतजार कीवर्ड लोप था। OpenStreamForWriteAsync
का रिटर्न प्रकार Task<Stream>
है - निश्चित रूप से इसका इंतजार करना चाहिए कि इसे Stream
बनाना चाहिए?
तो, वापसी कार्य वापस लौटने का इंतजार क्यों है?
आपकी मदद के लिए धन्यवाद।
async विधियां हमेशा 'कार्य' या 'कार्य 'वापस लौटाती हैं। खुद का चयन करें रिटर्न प्रकार की परवाह नहीं है। तो यह एक संख्यात्मक कार्य प्रोजेक्ट करता है क्योंकि आपका चयन लैम्ब्डा एसिंक है। आप अपने संग्रह पर फिर से शुरू कर सकते हैं और स्ट्रीम का इंतजार कर सकते हैं। –
vcsjones
ठीक है, कोई भी "एसिंक शून्य" विधि लिख सकता है, जो मैंने अनुमान लगाया है वह यहां हो रहा था। मैं इसे कैसे ठीक करूं? –
ठीक है मैं कोशिश करूँगा। –