等待导航pushasync?

flu*_*ter 2 c# navigation xamarin xamarin.forms

在Xamarin表单中,PushAsync等导航方法是异步Task返回方法,但是看await调用的时候使用没有区别,是吗?我应该等待这些电话吗?

另一个问题,导航指南说模型页面用于导航到需要在关闭之前完成自包含任务的页面,但看起来pushasync和pushmodelasync之间没有区别,除了模型页面没有导航栏,用户仍然可以使用 os 后退按钮像 pushasync 一样返回,对吗?

Evk*_*Evk 5

awating 的通常注意事项适用于此处。如果您没有awaitPushAsync 然后在您的代码中执行其他操作(或者您的框架执行您可能不知道的其他操作) - 这些操作可能会在 PushAsync 完成之前(即 - 在页面呈现给用户之前执行) )。此外,如果 PushAsync 操作中有一些异常 - 如果您不等待调用,您将不会注意到它。通常,即使您在 PushAsync 之后不做任何事情 - 最好等待调用(与大多数其他异步操作一样),除非您确切地知道为什么不想这样做。

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

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