1
我創建了冷觀察的反應命令。當調用命令時,它將正在執行爲真,並將的第一個發射值從可觀察變爲假。ReactiveCommand正在執行更改爲假後第一個發射值
public class MyViewModel : ReactiveObject
{
public ReactiveCommand<Unit, long> FooCommand { get; }
private readonly ObservableAsPropertyHelper<long> _intervals;
public long Intervals => _intervals.Value;
public MyViewModel()
{
FooCommand = ReactiveCommand.CreateFromObservable(
() => Observable.Interval(TimeSpan.FromMilliseconds(250))
.TakeUntil(DateTimeOffset.Now.AddSeconds(2)));
_intervals = FooCommand.ToProperty(this, vm => vm.Intervals);
}
}
不應該IsExecuting變回可觀察到的完成假後,而不是第一個發出的項目嗎?我在這裏錯過了什麼?
請注意,如果以某種方式影響行爲,我將在XAML中使用綁定。
嗨丹尼爾!我知道這樣的間隔不會完成,但爲了簡潔起見,我省略了像TakeUntil這樣的附加代碼。 – Rok
我改進了這個問題,因爲它引起了一些混淆 – Rok
對不起,我誤解了你的問題。那麼我同意你的看法。我期望同樣的。所以無論是bug還是某人都可以解釋爲什麼它只是等待第一個。 –