Wie werden zwei Ereignisströme auf einer gemeinsamen Ereigniseigenschaft verknüpft?

8

Betrachten Sie die folgenden zwei Ereignisströme. Jedes Ereignis hat eine Eigenschaft timestamp / ts und value.

Ich möchte diese zwei Ströme, bei denen die Ereignisse die gleichen Zeitstempel haben, zu einem resultierenden Strom mit einer angewendeten Transformation des Wertes kombinieren. Wenn einem Stream ein Zeitstempel fehlt (z. B. der gelbe ts=3 im folgenden Beispiel), sollte dieser Zeitstempel ignoriert werden.

Möchten Sie das Problem mit einer reaktiven Programmierbibliothek wie xstream oder rxjs . Ich bin ziemlich neu in den Konzepten der reaktiven Programmierung, aber wenn jemand einen anderen Vorschlag hat, bin ich ganz Ohr. Danke!

    
hampusohlsson 26.04.2016, 18:31
quelle

1 Antwort

3

Verwenden Sie einfach combineLatest und übergeben Sie nur die Kombinationen, die einen passenden Zeitstempel haben. Die anderen Kombinationen werden auf null abgebildet, die Sie später ausfiltern.

Hier ist die Lösung in xstream:

%Vor%

Überprüfen Sie, ob es in JSBin läuft: Ссылка .

    
André Staltz 26.04.2016, 19:47
quelle