サブスクライブしているオブザーバブルがあります。このオブザーバブルは、複数回設定できる ActivationType というプロパティを持つオブジェクトを返します。
私が達成しようとしているのは、ActivationType が「Type1」に設定されるたびにメッセージをログに記録することです。ただし、ActivationType が「Type2」に設定されている場合、ActivationType が「Type2」の場合は、メッセージを 1 回だけログに記録し、30 秒待ってから再度ログに記録します。
だから私が持っている場合:
myObservable
.Where(o => o.ActivationType == "Type1" || o.ActivationType == "Type2") //listen for types 1 and 2
.Throttle() // ??? somehow only throttle if we are currently looking at Type2
.Subscribe(Log); //log some stuff
Throttle() は私が探しているものだと思いますが、条件付きでトリガーする方法がわかりません。
助言がありますか?