如何根据另一个命令的结果有条件地执行一个命令?
How to execute one command conditionally based on the result of another?
我在 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);
我已经尝试了很多东西,所以不会全部检查,只是似乎无法让任何东西工作...
这应该可以满足您的需求
CheckNetwork
.Where(result => result)
.Select(_=> Unit.Default)
.InvokeCommand(CheckVersion);
我在 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);
我已经尝试了很多东西,所以不会全部检查,只是似乎无法让任何东西工作...
这应该可以满足您的需求
CheckNetwork
.Where(result => result)
.Select(_=> Unit.Default)
.InvokeCommand(CheckVersion);