我使用递归函数来完成某些操作。
结果仍然相同。如何等待此函数完全结束?
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 = "Done!";。现在它与迭代同时发生。如果我像这样运行函数
walk(fd);
tbOut.Text = "Done!";
结果仍然相同。如何等待此函数完全结束?
void
异步方法……它们基本上只存在是为了允许事件处理程序异步执行。 - Jon Skeet