我们开始使用一些反应式扩展重构silverlight应用程序。我有一个Initialize方法,它可以做一些工作。我对Initialize方法中的一个方法进行了调用,该调用必须在调用Initialize方法的其余部分之前完成。
LoadTaskQueues(_currentUser.InstitutionID);
if (_params.Task != null)
{
LoadTaskInformation(_params.Task);
return null;
}
在它运行LoadTaskInformation之前,我需要完成LoadTaskQueues。
假设LoadTaskQueues返回IObservable(您没有指定),您想在这里订阅:
LoadTaskQueues()
.Where(_ => _params.Task != null)
.Subscribe(_ => LoadTaskInformation(_params.Task));