我对MVVMCross异步Navigate()调用有疑问。如果不想不“等待” Navigate()调用,会不会产生不利影响?在我们的应用程序中删除了等待状态,以解决问题:MVVM命令在导航中回退时按住了一个按钮,删除了Navigate调用上的等待状态可以解决此问题,但是可能引入了一些线程问题。
使用等待在ViewModel中导航
await Navigate<MainMenuViewModel>();
无需等待就在ViewModel中导航
Navigate<MainMenuViewModel>();
作为一般的异步/等待规则,您应始终等待异步操作。不等待可能会导致事情以预期的顺序执行或锁定UI线程。
在这种情况下,将由您来决定风险是否值得。不过,这似乎是一个临时解决方案,而不是解决问题的方法。