Buc*_*nan 0 .net c# async-await maui
我想我对异步等待模型的理解一定遗漏了一些东西。本来应该很简单的事情似乎很难实现。
我有一个用户界面,需要检查用户是否已登录。为此,我需要在我的一个类中调用一个方法来执行一些查询。
此类依次调用仅具有异步方法的第 3 方代码。
我如何调用该异步方法并使应用程序等待,直到我得到结果?
我已经尝试了所有建议的东西,例如ConfigureAwait,,,等等。似乎没有什么可以可靠地工作。RunSynchronous.Result
看起来很愚蠢,这样的事情是如此困难,所以我认为我错过了一条关键信息。
谢谢。
让我们明确一点:
“让我等到结果后再申请?”
与阻塞、等待或任何结果无关(我无法强调这一点)。
如果您习惯于在某件事完成之前锁定 UI,那么您应该改变您的设计,而不是试图找到一种方法来完成它。(我花了相当多的时间为 Windows Mobile 编写 MFC 应用程序,我也曾经这样做过)
处理这种情况的正确方法是让用户知道正在完成工作(例如某种活动指示器),同时确保不会因用户输入而执行其他代码(例如命令的 CanExecute 属性)。当合适的时候,你可以放置取消逻辑。
更重要的是,在 MAUI(以及一般的移动开发)背景下,阻塞 UI 线程,即使是几秒钟,也是完全不可接受的。它应该始终保持响应。这不是一个选择的问题。
| 归档时间: |
|
| 查看次数: |
363 次 |
| 最近记录: |