C#对模型使用异步方法
本文关键字:异步方法 模型 | 更新日期: 2023-09-27 18:00:23
这里有人在C#Windows Phone 8的MVVM架构中使用过异步方法作为模型吗?
例如,在从web获取信息(xml)的方法中,我想执行以下3个步骤:1.从web获取XML(异步)2.反序列化xml3."规范化"2号中创建的对象,并返回对象
在模型内部有一个方法GetUser()
,当从视图调用它时,它会返回一个User对象。但是GetXML方法是异步的,所以它返回一个Task<>
。因此,它就像一条从模型到视图的异步链(对象Task<>
正在传递到视图上)。但是我想反序列化和规范化模型中的对象。异步解决方案(返回一个Task<>
)表明,当得到Task<>
的结果时,我必须在视图中执行逻辑。
有什么解决办法吗?返回Task<>
的结果而不是Task<>
本身的异步方法?
有什么解决办法吗?一个异步方法,返回Task的结果<>而不是任务<>它本身
只需使您的模型方法类似于public async Task<User> GetUserAsync(...)
,并在模型中使用await
为您组成异步。在Model层中没有什么可以阻止这一点,这与在应用程序的其他层中所做的非常相似。