有没有办法跟踪反应命令何时完成执行?

Is there a way to track when reactive command finished its execution?

有谁知道如何跟踪响应式命令已完成执行并连接该方法,该方法将在 运行 之后启动?

P.S。在命令的处理程序方法末尾调用方法时的变体不适合我的情况。

提前致谢!

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

Eugene 完全正确,但我想提一个替代方案。如果你的命令只有 returns 一个值(就像大多数命令一样),你可以挂钩到命令本身是一个可观察的,它会勾选每次成功执行的结果:

YourCommand.Subscribe(result => YourMethodCall(result));

这样做的好处是您现在可以在 YourMethodCall 中访问命令的结果。