C# 有没有办法跟踪被动命令何时完成执行?
有人知道如何跟踪reactive命令已完成执行的事实,并连接方法,然后该方法将开始运行吗 另外,在命令的handler方法末尾调用该方法时的变量不适合我的情况C# 有没有办法跟踪被动命令何时完成执行?,c#,reactiveui,C#,Reactiveui,有人知道如何跟踪reactive命令已完成执行的事实,并连接方法,然后该方法将开始运行吗 另外,在命令的handler方法末尾调用该方法时的变量不适合我的情况 提前谢谢 ReactiveCommand有一个名为IsExecuting的可观察属性,可用于观察命令执行的时间。处理这种情况的一种方法是这样做: YourCommand.IsExecuting .Skip(1) // IsExecuting has an initial value of false. We can skip t
提前谢谢 ReactiveCommand有一个名为
IsExecuting
的可观察属性,可用于观察命令执行的时间。处理这种情况的一种方法是这样做:
YourCommand.IsExecuting
.Skip(1) // IsExecuting has an initial value of false. We can skip that first value
.Where(isExecuting => !isExecuting) // filter until the executing state becomes false
.Subscribe(_ => YourMethodCall()); // run your method now that the command is done
尤金是完全正确的,但我想提及另一种选择。如果您的命令只返回一个值(与大多数命令一样),则可以挂接到命令本身,该命令本身是一个可观察的对象,用于标记每次成功执行的结果:
YourCommand.Subscribe(result => YourMethodCall(result));
这里的优点是您现在可以在
YourMethodCall
中访问命令的结果,谢谢您,尤金!