起動するとメッセージが表示されるのがわかります。しばらくしてから、その間にobservableが再び起動しない限り、そのメッセージをフェードアウトしたいと思います。
言い換えると、オブザーバブルが与えられた場合、最後のイベントが発生したときに最初のオブザーバブルが指定された時間より前に作成されたオブザーバブルがその最後のイベントを発生するように、別のオブザーバブルを作成したいと思います。
起動するとメッセージが表示されるのがわかります。しばらくしてから、その間にobservableが再び起動しない限り、そのメッセージをフェードアウトしたいと思います。
言い換えると、オブザーバブルが与えられた場合、最後のイベントが発生したときに最初のオブザーバブルが指定された時間より前に作成されたオブザーバブルがその最後のイベントを発生するように、別のオブザーバブルを作成したいと思います。
observableが与えられるとo
、次のコードは私が望むことを実行します。
var d = o
.DistinctUntilChanged()
.Timestamp()
.Select(function(e) { return e.Timestamp; })
.Publish();
d.CombineLatest(d.Delay(2000), function(a, b) { return a === b; })
.Where(function(o) { return o; })
.Subscribe(function(v) { /* ... do something with v ... */ });
d.Connect();
これにより、d
から2000msの非アクティブ状態の後に起動するオブザーバブルが作成されo
ます。
注:v
サブスクライブ関数のの値は常にtrue
です。