如何根据另一个命令有条件地执行一个命令?

时间:2017-03-10 03:31:18

标签: system.reactive reactiveui

我在ReactiveUI中组合了两个命令:CheckNetwork和CheckVersion。任何时候CheckNetwork执行(并且它正在正确的时间执行)我想执行CheckVersion - 但仅当CheckNetwork返回" true"时。

ReactiveCommand<Unit, bool> CheckNetwork { get; }
ReactiveCommand<Unit, Unit> CheckVersion { get; }

CheckVersion = ReactiveCommand.CreateFromTask(CheckVersionImpl);
CheckNetwork = ReactiveCommand.CreateFromTask(CheckNetworkImpl);

我已经尝试过很多东西,所以不会完全通过它们,但似乎无法正常工作......

1 个答案:

答案 0 :(得分:3)

这应该做你想要的事情

CheckNetwork
.Where(result => result)
.Select(_=> Unit.Default)
.InvokeCommand(CheckVersion);