我是RxJS的新手,試圖做一個簡單的演示,讓您每隔一秒刷新一次數據。RxJS:點擊後禁用刷新按鈕持續時間
我做了一個按鈕,並從中創建了一個點擊流。 這個問題開始時,我想創建一個流,每個按鈕點擊發出錯誤,並在一秒鐘後再次發出真實。
例如 - 初始狀態爲真,因爲我們可以在開始時刷新。 一旦我點擊按鈕,新值應該是錯誤的點擊後,因爲我們不能進一步刷新。
最後一秒鐘過後 - 值應該再次爲真。
我試圖創建它併成功,但它看起來很糟糕。 任何想法熱點做得更好,更清潔? 另一件事是我真的不知道在這裏使用RxJS是一個好主意,因爲簡單的常規方法是將布爾值設置爲true,並在單擊後將其設置爲false,並使用setTimeout將其更改爲true 。
這裏是我做的:
// 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);