JavaScript rxJS Observables switchMap

Hendoul

Commander
Registriert
Apr. 2008
Beiträge
2.134
Hi :)

Wenn ich ein Konstrukt dieser Art habe:

Javascript:
myObservable.pipe(
    switchMap( () => fetchSomething())
)
.subscribe( fetchedStuff => {
    // do something
})

Wer stellt sicher, dass die Funktion aufgerufen wird, die man subscribe mitgegeben hat?
Ruft switchMap intern diese auf?
 
pipe bekommt von myObservable die Werte und gibt sie an switchMap. switchMap gibt darauf hin ein neues Observable zurück, wäre in der pipe ein weiterer Operator, würde pipe an das vorherige Observable subscriben und an den weiteren Operator gegeben werden. Da es aber keinen weiteren Operator gibt, gibt pipe den letzten Observable einfach zurück, den du dann selbst subscribest. Dein Callback wird also immer dann aufgerufen, wenn der Aufruf von fetchSomething etwas emittiert, jedoch nur solange, bis myObservable ein neuen Wert emittiert und switchMap dann auf das neue Observable switched.
 
Zurück
Oben