等待导航pushasync?

时间:2017-10-08 14:10:08

标签: c# xamarin xamarin.forms navigation

在Xamarin表单中,PushAsync等导航方法是一种异步rewrite返回方法,但它会查看在调用它时使用Task是否没有区别,是吗?我应该等待这些电话吗?

另一个问题,navigation guide表示模型页面用于导航到需要完成自包含任务的页面,然后解除它,但它看起来pushasync和pushmodelasync没有区别,除了模型页面没有导航栏,用户仍然可以使用os后退按钮返回就像pushasync一样,是吗?

1 个答案:

答案 0 :(得分:4)

在这里应用与唤醒有关的常见考虑因素。如果你没有 public int getID(){ return id; } PushAsync然后在你的代码中执行其他操作(或者你的框架执行你可能不知道的其他操作) - 那些操作可能在PushAsync完成之前执行(即 - 之前 - 页面呈现给用户)。此外,如果PushAsync操作中存在一些异常 - 如果您不等待呼叫,则不会注意到它。一般来说,即使您在PushAsync之后没有做任何事情 - 最好等待呼叫(与大多数其他异步操作一样),除非您知道为什么不想这样做。

关于第二个问题,您的链接提供了答案:

  

在Android和Windows Phone上,用户可以随时返回   通过按设备上的标准后退按钮上一页。如果   模态页面要求用户完成一个自包含的任务   在离开页面之前,应用程序必须禁用“后退”按钮。   这可以通过覆盖Page.OnBackButtonPressed来完成   模态页面上的方法。有关更多信息,请参阅第24章   Charles Petzold的Xamarin.Forms书。