注意を実行していない:私は、私は5秒間画面にアイドルクリック回数を決定しようとしていますここrxjs(2.5.3)では、機能を購読
をtypescriptですを使用しています
var noClickStream = Rx.Observable.fromEvent<MouseEvent>($window.document, 'click')
.bufferWithTime(5000)
.filter(eventBundle => {
return eventBundle.length === 0;
});
これはこれは、コードの罰金を実行する機能を購読
var noClickStreamSubscriber = noClickStream.subscribeOnNext(() => {
this.showLogoutWarning = true;
});
です。クリックが5秒間ないと、加入者が呼び出されます。
実際には、警告画面が表示されているときにsubscribe関数でnoClickStreamを一時停止して再開できるようにしたいと考えています。このために、最初のクリックストリームにpausable()を追加しました。今noClickStreamSubscriber機能がなくても、クリック活動の5秒後に呼び出されることは決してありません
var noClickStream = Rx.Observable.fromEvent<MouseEvent>($window.document, 'click')
.bufferWithTime(5000)
.filter(eventBundle => {
return eventBundle.length === 0;
})
.pausable();
。 fromEventは一時停止可能な機能をサポートしていませんか?
($のwindow.documentを、 'クリック') へ: Rx.Observable.fromEvent($のwindow.document、 'クリック') –
'pausableのいずれかを助けていません'うまくいくはずですが、あなたは正しく使用していません。それは観測可能な 'pauser'をとる:https://github.com/Reactive-Extensions/RxJS/blob/v.2.5.3/doc/api/core/operators/pausable.md – cartant
実際に私は理由を見つけました。最初にストリームを開始しました。観察可能なものが一時停止可能に設定されている瞬間に、最初に再開する必要があります。それ以外の場合は実行されません。 Duh、私は5時間をこのように過ごしました:/ –