【发布时间】:2014-09-24 11:57:00
【问题描述】:
我有一个 WPF 应用程序,其中视图模型中的属性之一将被填充为对服务的调用。到目前为止,我一直在关注 Stephen Cleary 的优秀教程。他讨论了这样做的一种方法here
在我的例子中,每个应用程序都会实例化一次视图模型。应用程序在视图模型上调用 Initialise 方法(自定义方法),传递一些信息,在这些信息的基础上,视图模型应该联系服务以实例化属性。
问题在于应用程序可以多次调用 Initialise 方法(用户随机移动)并传入一组新信息。发生这种情况时,我需要丢弃上次调用 Initialise 时调用的较早运行的任务(如果有),使用一组新信息调用服务并确保该属性仅绑定到最新调用的结果。
有人可以帮助想出一个模式来实现这一点吗?基本上多次调用一个异步方法,但只保留最后一个结果。
【问题讨论】:
-
你会同时调用他们多次吗?还是您的应用程序会多次调用
Initialize方法,但调用之间存在差异? -
initialise 方法在用户单击按钮时被调用,因此调用不会是并发的,而是顺序的。