2016-05-25 2 views

Antwort

1

defer nimmt eine Parameterfunktion, die eine Observable zurückgibt. Der Operator selbst gibt ein Observable zurück, wie es bei den meisten Operatoren der Fall ist. Wenn das beobachtbare defer abonniert ist, führt es die Parameterfunktion aus, ruft das Observable ab, das von der Funktion zurückgegeben wird, und subskribiert dieses Observable und gibt die Werte aus diesem Observable im Stream weiter.

Das ist nützlich, wenn Sie die Erstellung der beobachtbaren zurückgegeben von der Funktion auf defer Abonnement Zeit verschieben möchten. In Ihrem Beispiel bringt defer nicht viel Wert, aber es ist zum Beispiel nützlich, wenn Sie einen Callback haben, der einen API-Aufruf ausführt und ein Observable/Promise zurückgibt, aber Sie möchten den API-Aufruf nicht sofort ausführen.

Beispiele sind besser als viele Wörter und Sie werden einige in ähnlicher Frage zu SO finden, zum Beispiel RxJS and React's setState - delay function execution until subscription, How to start second observable *only* after first is *completely* done in rxjs, und Rx.js wait for callback to complete.

Verwandte Themen