0

这个问题与我前段时间发布的一个问题有关(这里)。

我正在使用ReactiveAsyncCommand以下方式:

LoadTickets = new ReactiveAsyncCommand(null, 0, RxApp.DeferredScheduler);

LoadTickets.RegisterAsyncFunction(x => loadTickets())
        .ToProperty(this, x => x.Tickets);

Observable.Interval(TimeSpan.FromSeconds(10), RxApp.DeferredScheduler)
        .InvokeCommand(LoadTickets);

LoadTickets.Execute(null); //initial load

因此,每 10 秒我想调用一个命令,它将函数的结果通过管道传输到列表。

但是,在最初的 之后Execute,每次后续CanExecute的命令都是假的。我检查了使用:

Observable.Interval(TimeSpan.FromSeconds(10), RxApp.DeferredScheduler)
                        .Subscribe(_ =>
                         Debug.WriteLine("Can execute in timer " + LoadTickets.CanExecute(null))
                              );

发生这种情况有原因吗?

4

1 回答 1

2

行,

找到它,我忽略了一些东西:

LoadTickets = new ReactiveAsyncCommand(null, 1, RxApp.DeferredScheduler);

我已将最大并发设置为 0,这可能解释了为什么该命令CanExecute总是错误的。

于 2012-12-28T16:22:25.933 回答