有没有一种方法来跟踪,当反应活性的命令完成它的执行?(Is there a way to track

2019-09-27 15:21发布

有谁知道如何追踪的事实,无功指令已经完成它的执行和挂钩的方法,这将启动后运行?

PS调用的变体时,在命令的处理方法结束该方法不适合我的情况。

提前致谢!

Answer 1:

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


Answer 2:

尤金是完全正确的,但我想提一个替代选项。 如果你的命令只返回一个值(如大多数命令做),你可以连接到命令本身是可观察到的蜱每一个成功执行的结果:

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

这里的好处是,你现在可以在命令的结果YourMethodCall



文章来源: Is there a way to track when reactive command finished its execution?
标签: c# reactiveui