5
我用遞歸函數做一些如何等待所有異步操作?
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'異步方法......他們基本上只是用來讓事件處理程序是異步的。 – 2013-05-05 15:28:36
Thanx!這樣可行! – splash27 2013-05-05 15:36:28