【发布时间】:2014-09-19 21:24:48
【问题描述】:
我有两个班级View 和Presenter。
class Presenter
{
View _view;
void OnViewLoad(object sender, EventArgs e)
{
_view.UpdateUIAsync();
// need to
// _view.UpdateUIAsync().then(....)
}
现在我希望 OnViewLoad 方法在 _view.UpdateUIAsync() 完成后执行一些代码。现在我的解决方案是修改View.UpdateUIAsync() 以接受一个动作参数_view.UpdateUIAsync(Action<object> after) 并让View 在异步代码完成后执行它。像 Promise 模式一样,它是一种更好的方法吗?
View 类是一个 Winform 表单,使用 BackgroundWorker 进行异步,因为它使用 .Net 3.5。
【问题讨论】:
-
Task可能是最接近 .Net Framework 一部分的 promises(也有 3.5 的版本 - RxExtensions)。
标签: c# .net winforms asynchronous .net-3.5