RxJSを初めて使用し、1秒ごとにデータをリフレッシュできる簡単なデモを試みました。RxJS:クリックした後にリフレッシュボタンを無効にする
ボタンを作成し、そこからクリックストリームを作成しました。 問題は、ボタンをクリックするたびにfalseを出し、1秒後にもう一度trueを返すストリームを作成したいときに開始されました。
たとえば、開始時に更新できるように、初期状態はtrueです。 ボタンをクリックすると、クリックした直後に新しい値がfalseになるはずです。
最後に1秒後に値が再びtrueになるはずです。
私はそれを作成して成功しましたが、ひどく見えます。 良いアイデアとクリーンなアイデア 別のことは、RxJSをここで使うのは良いアイデアであるかどうかは分かりません。ブール値をtrueに設定してクリックした後にfalseに設定し、setTimeoutをtrueに戻してからです。ここで
は私がやったことです:rxjs
と非同期操作の取り扱い
// The stream of the button clicks.
$clicksStream
// Change the click stream to the timed true false change.
.switchMap(() => Observable
// Emit first value immediately and every 1 second after.
.timer(0, 1000)
// Map each one - 0 becomes false and others true.
.map(x => !!x)
// Take only first two items.
.take(2))
// Always the start value is true.
.startWith(true);