2017-01-19 4 views
0

Was der Vorteil der Verwendung RxJS Operatoren wie und Karte Filter ist im Vergleich zu einfach auf die Werte, die die gleichen Operationen in der zurück abonnieren Funktion? Ist es schneller?RxJS - Was ist der Sinn der Betreiber?

Antwort

3

Es gibt Fälle, in denen Sie nicht alles synchron ausführen können. Zum Beispiel, wenn Sie einen Ruhe-Anruf basierend auf einigen ausgesendeten Daten und der Arbeit mit den Daten machen wollen, die von dem Rest-Anruf ausgegeben werden.

Oder wenn Sie zwei separate Streams haben, aber es gibt einen Usecase, in dem Sie sie in der Reihenfolge ausführen müssen (vielleicht sogar aufeinander basierend), ist es sehr einfach, diese zu verketten.

Auch macht es Tests sehr viel einfacher und genauer, wenn Sie sehr kleine Funktionen mit einem Eingang und Ausgang haben.

Aber wie bei allem: Nur weil ein großes Unternehmen das nutzt, bedeutet das nicht automatisch, dass es für Ihr kleines Hobby-Projekt sinnvoll ist, jedes einzelne Teil dessen, was sie verwenden, in einem Projekt mit mehreren Entwicklern umzusetzen.


Was die Leistung: Nein, rxjs-Operatoren ist nicht der schnellste Weg, um Daten zu manipulieren, aber es bietet eine ganze Reihe von anderen Funktionen (einige von ihnen oben erwähnt), dass die (sehr kleinen aufwiegen) Auswirkungen hat dies auf die Leistung. - Wenn Sie ein paar Mal pro Sekunde durch große Arrays iterieren, schlage ich vor, dass Sie RxJS aus offensichtlichen Gründen nicht verwenden.

0

Einige Vorteile

  • deklarative
  • Reusability

Ich meine, wenn Sie an einem anderen Ort anmelden müssen Sie die gleiche Aktion duplizieren, die in der Zeichnung sind. Aber wenn Sie die Operatoren als Teil der Kette deklarieren, werden Sie immer den gleichen Weg ausführen, wenn es aufgerufen wird.