"Abmelden" Funktion Callback / Hook in Observable "Executor" -Funktion

8

Ich bin verwirrt darüber, wozu der Zweck der "dispose" - oder "unsubscribe" -Funktion dient, der (optional) von einer beobachtbaren "executor" -Funktion zurückgegeben wird, so:

%Vor%

Was mich verwirrt, ist, dass eine solche Funktion eher an Referenzen in Ihrem Code festhalten würde und daher die Garbage Collection verhindert.

Kann jemand mir sagen, was der Zweck ist, eine Funktion in diesem Szenario zurückzugeben, wie die Funktion heißt und was sie ist? Ich habe Probleme, Informationen darüber herauszufinden.

Ich sehe auch viel komplexere Beispiele für die Rückgabe einer Subskription von der Executor-Funktion, zum Beispiel:

%Vor%

Dies scheint ein Abonnement anstelle einer einfachen Funktion zurückzugeben. Kann mir jemand erklären, was hier vor sich geht?

Um eine klare Frage zu stellen, was ist der Unterschied zwischen dieser Vorgehensweise:

%Vor%

und nicht das Ergebnis des Abo-Anrufs zurückgeben:

%Vor%     
Olegzandr 06.01.2017, 06:03
quelle

1 Antwort

4

Die Funktion unsubscribe , die Rx.Observable.create zurückgeben muss, wird aufgerufen, wenn der Downstream den Stream nicht mehr abruft, sodass Sie genügend Zeit haben, um Ressourcen zu bereinigen.

In Bezug auf Ihre Frage; .subscribe() gibt das Abonnement zurück, für das Sie .unsubscribe() aufrufen können. Wenn Sie also etwas mit einem anderen Abonnement tun möchten, können Sie dieses Abonnement an Ihren Downstream weiterleiten:

%Vor% %Vor%

Ohne die Abmeldungsfunktion hören Sie auf, die Observable zu hören, aber das intern erstellte Intervall würde weiterlaufen:

%Vor% %Vor%
    
Mark van Straten 06.01.2017, 06:36
quelle

Tags und Links