Ich habe ein Tutorial auf Rxjs wie folgt gesehen.Rxjs: take (1) Verwendung
Meine Frage ist:
1) Was ist die Verwendung von take(1)
hier? Ich sehe viele Erklärungen online, aber ich verstehe es nicht wirklich. Außerdem sehe ich keinen Vorteil der Verwendung von take(1)
in diesem Code. Und der Autor verwendet take(1)
für jede Rückgabe-Funktion in REST API-Service.
2) Der Autor hat sich nach dem Abonnieren nicht abgemeldet. Liegt es daran, dass der Autor take(1)
verwendet und daher das manuelle Abmelden nicht benötigt wird?
3) Was ist, wenn ich Fangfunktion implementieren möchte. Sollte ich es vor dem Nehmen oder nach dem Nehmen implementieren.
getProfile() { // this is a call to REST API
return this.service.getProfile()
.map(res => res.json())
.take(1)
}
}
this.data.getProfile().subscribe(profile => {
this.userProfile = profile;
});
Danke für die Klarstellung. Gibt es irgendwelche Dokumentation darüber, dass es keinen Grund gibt, die Abmeldung explizit aufzurufen, auch ohne 'take (1)' für den eckigen Dienst 'HttpClient', um Ihre Anweisung zu sichern? – stackdisplay
Für die Dokumentation, nehmen Sie (verzeihen Sie das Wortspiel) einen Blick auf den [* Observable Contract *] (http://reactivex.io/documentation/contract.html). Es ist definitiv. 'take' vervollständigt das beobachtbare und completion sieht alle Abonnenten automatisch abgemeldet. – cartant
@stackdisplay, aktualisiert die Antwort. Die beste Dokumentation ist die Quellen :). Schauen Sie sich angularindepth.com an, wo alle Artikel mit diesem Motto veröffentlicht werden. –