Ich bin immer noch herauszufinden, reaktive Programmierung, so bin ich mir ziemlich sicher, dass dies sehr einfach ist, aber die Anzahl der Stream-Transformationen ist ziemlich überwältigend für einen Anfänger.RxJS warten bis das Versprechen gelöst
Ich erstelle ein Observable von einem DOM-Ereignis. Dieses Ereignis sollte wiederum einen REST-Aufruf auslösen, und alle anderen DOM-Ereignisse werden ignoriert, bis dieses Ereignis behoben wurde.
const stream = Observable.fromEvent(document, 'some-event')
stream
.flatMap(() => httpRestService())
.subscribe(() => {
})
Wie ignoriere ich die Ereignisse aus dem Stream, bis das letzte HTTP-Versprechen gelöst wurde?
DOM event
A - - - - B - - - - C
HTTP event
D ...........done - C
Zunächst gibt ein Beobachter keine Werte aus, er empfängt Werte. Hier ist also Ihr Beobachter beobachtbar. Dann weiß ich nicht, was du mit "ignoriert" meinst. Sind diese Ereignisse verloren oder in der Warteschlange? Der beste Weg, Ihre Frage zu stellen, besteht darin, Eingaben und erwartete Ausgaben anzugeben. Dies ist am besten mit einem Marmor-Diagramm gemacht – user3743222
@ user3743222 aktualisiert – Harangue
vielleicht 'skipUntil' wäre das, was Sie suchen? http://reactivex.io/documentation/operators/skipuntil.html – Stephen