【发布时间】:2017-12-04 15:05:54
【问题描述】:
我正在使用Navigation.PushAsync 导航到新页面,当工作完成后,它会调用PopAsync 返回上一页。问题是第一页需要等待新页面弹出然后继续一些工作。所以我这样做:
// source page:
DoWork();
await Navigation.PushAsync(new TargetPage()); <== this does not wait for the page!??
DoOtherWork();
我观察到DoOtherWork 部分在显示新页面时立即运行,直到它被关闭。但是我在这里使用await,这意味着后面的部分应该是异步任务完成后的延续,对吧?为什么不等待 Navigation 任务就运行了?
【问题讨论】:
-
新页面显示或关闭时任务是否完成?你假设后者。但是你的假设正确吗?根据您的描述,我希望是前者。
-
你的意思是任务只管理页面的显示,而不是等待它的关闭?那么导航如何连接两个页面呢?
-
看这里的例子:developer.xamarin.com/api/member/… 看来你需要等待 Pop 等待解雇。 Return 的文档文本让我有点困惑。这似乎与示例相矛盾?不过,也许这只是我。
-
它看起来也让我感到困惑,因为示例显示了文本的相反含义。
标签: c# xamarin xamarin.forms async-await