Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在导航上等待pushasync?_C#_Xamarin_Xamarin.forms_Navigation - Fatal编程技术网

C# 在导航上等待pushasync?

C# 在导航上等待pushasync?,c#,xamarin,xamarin.forms,navigation,C#,Xamarin,Xamarin.forms,Navigation,在Xamarin表单中,导航方法(如asyncTaskreturning方法)看起来是否在调用它时使用wait没有任何区别,是吗?我应该等这些电话吗 另一个问题是,模型页面用于导航到需要在解除之前完成自包含任务的页面,但看起来pushasync和pushmodelasync之间没有区别除了模型页面没有导航栏,用户仍然可以使用os后退按钮返回,就像pushasync一样,是这样吗?通常的唤醒注意事项适用于这里。如果您不等待PushAsync,然后在代码中执行另一个操作(或者您的框架执行另一个您可能

在Xamarin表单中,导航方法(如async
Task
returning方法)看起来是否在调用它时使用
wait
没有任何区别,是吗?我应该等这些电话吗


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

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

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

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


我有一个例子,其中有一个for循环,在等待之后,甚至在等待完成之前,它仍然会执行。我有一个wait-Navigation.PushAsync(mypage,true);在我有一个for循环之后。任务完成后如何执行for循环?