Ich habe eine Observable, dass wenn eine Nachricht ausgelöst wird angezeigt wird. Nach einer Verzögerung möchte ich diese Nachricht ausblenden, außer in der Zwischenzeit hat dieses Observable wieder gefeuert. Mit anderen Worten, wenn man eine Observable gibt, möchte ich eine andere Observable erstellen, so dass, wenn das letzte Ereignis ausgelöst wird, das erste Observable mehr als eine bestimmte Zeit vor den erzeugten beobachtbaren Bränden liegt, die das letzte Event sind.Puffer/Ignoriere Ereignisse bis zur Inaktivitätszeit, dann feuere nur das letzte Ereignis
1
A
Antwort
0
die beobachtbare o
gegeben, der folgende Code tut, was ich will:
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();
Dies erzeugt eine beobachtbare d
, die nach 2000 ms Inaktivität von o
ausgelöst.
HINWEIS: Der Wert der v
in der Abonnementfunktion ist immer true
.
Verwandte Themen
- 1. Fullcalendar lädt nur Ereignis nach Ansicht geändert, dann werden Ereignisse nicht entfernt, bis Ansicht wieder geändert
- 2. Warten bis die letzte Funktion beendet ist, dann in angularjs
- 3. sed nur das letzte Spielmuster
- 4. RxSwift: Empfängt Ereignisse sofort, außer das letzte Ereignis wurde innerhalb eines bestimmten Intervalls verarbeitet
- 5. Warten, bis das Ereignis beendet ist
- 6. Warten Sie, bis das Ereignis "last" ausgelöst wird
- 7. Nur bestimmte Ereignisse zulassen
- 8. RxJS warten bis das Versprechen gelöst
- 9. Wie feuere ich diese Funktion nur dann korrekt aus, wenn die vorherige erfolgreich abgeschlossen wurde?
- 10. Zeige nur das letzte Element im Array
- 11. Nur das letzte setAttribute wird ausgeführt
- 12. bekomme nur das letzte Spiel? .match (Wort)
- 13. Wie feuere ich ein Ereignis von HTML-Dropdown in icCube
- 14. Wie feuere ich ein Klick-Ereignis in der Kind-Komponente?
- 15. Wie feuere ich ein benutzerdefiniertes Ereignis von Polymer Dart?
- 16. Execute Ereignis nur dann, wenn ein TreeView Knoten geklickt wird
- 17. Qthread - Schlaf bis Ereignis
- 18. Summe der Zeile n bis letzte Zeile
- 19. Warum registriert sich der Ereignis-Listener nur für das letzte in for loop erstellte Element?
- 20. Liniencode nicht ausgeführt werden, bis das Ereignis „drop“ beendet ist
- 21. Ractive.js prevent Ereignisse Ereignis Proxies
- 22. immer Anzahl der Stunden bis zum nächsten Ereignisse
- 23. IP erhalten und dann letzte Oktett ändern
- 24. Wiederholungsregel bis zur Verwendung von iCal4J
- 25. C# 'set', das nur ein Ereignis auslöst
- 26. Python-Liste der Wörterbücher sehen nur das letzte Element
- 27. video.js currentTime() ist inkorrekt, bis das Ereignis timeupdate ausgelöst wird
- 28. Silverlight Warten, bis mehrere Objekte das geladene Ereignis auslösen
- 29. splunk letzte Ereignis für jeden Host
- 30. javafx tableview automatisches Scrollen bis zur letzten