可以不等待而调用“ Navigate()”吗?

问题描述 投票:0回答:1

我对MVVMCross异步Navigate()调用有疑问。如果不想不“等待” Navigate()调用,会不会产生不利影响?在我们的应用程序中删除了等待状态,以解决问题:MVVM命令在导航中回退时按住了一个按钮,删除了Navigate调用上的等待状态可以解决此问题,但是可能引入了一些线程问题。

使用等待在ViewModel中导航

await Navigate<MainMenuViewModel>();

无需等待就在ViewModel中导航

Navigate<MainMenuViewModel>();
xamarin async-await thread-safety mvvmcross
1个回答
0
投票

作为一般的异步/等待规则,您应始终等待异步操作。不等待可能会导致事情以预期的顺序执行或锁定UI线程。

在这种情况下,将由您来决定风险是否值得。不过,这似乎是一个临时解决方案,而不是解决问题的方法。

© www.soinside.com 2019 - 2024. All rights reserved.