मैं पुनरावर्ती क्रिया का उपयोग कुछसभी एसिंक्रोनस ऑपरेशंस का इंतजार कैसे करें?
public async void walk(StorageFolder folder)
{
IReadOnlyList<StorageFolder> subDirs = null;
subDirs = await folder.GetFoldersAsync();
foreach (var subDir in subDirs)
{
var dirPath = new Profile() { FolderPath = subDir.Path};
db.Insert(dirPath);
walk(subDir);
}
tbOut.Text = "Done!";
}
करने के लिए तो, मैं चाहता हूँ कि tbOut.Text = "पूर्ण!"; सभी पुनरावृत्तियों के समाप्त होने के बाद ही किया जाएगा। अब प्रक्रिया के दौरान पुनरावृत्तियों के दौरान एक ही समय में यह खुशी हो रही है। यदि मैं इस कार्य को
walk(fd);
tbOut.Text = "Done!";
परिणाम अभी भी वही चलाता है। यह फ़ंक्शन पूरी तरह खत्म होने पर कैसे प्रतीक्षा करें?
दरअसल, आप लगभग * कभी नहीं * एक 'void' async विधि होनी चाहिए ... वे मूल रूप से केवल ईवेंट हैंडलर्स अनुमति देने के लिए उपस्थित रहे असीमित होने के लिए। –
Thanx! यह काम करता है! – splash27