这个问题与我前段时间发布的一个问题有关(这里)。
我正在使用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))
);
发生这种情况有原因吗?