2016-06-15 12 views
0

Ich bin gerade durch die Dokumentation zur Verwendung von Redux-Sagen gegangen, um asynchrone Aktionen mit Generatorfunktionen zu verwalten.
Die Dokumentation ist klar und sieht vielversprechend aus, aber am Ende bin ich etwas verwirrt darüber, was die genaue Beschreibung des Begriffs 'Saga' in der Front-End-Entwicklung sein soll.Terminologie: Bedeutung des Begriffs 'saga'

Dieses Hintergrund-Dokument durch die docs Redux-Saga verbunden: http://www.cs.cornell.edu/andru/cs711/2002fa/reading/sagas.pdf erwähnt:

A LLT (Long Lived Transaktion) ist eine Saga, wenn sie als Folge von Transaktionen geschrieben werden können, das kann mit anderen Transaktionen verschachtelt werden.

Im Grunde, was sie beziehen sich auf die Optimierung von langlebigen Datenbanktransaktionen durch die Anforderung entspannen, die eine LLT als atomare Aktion ausgeführt werden soll.

Können Sie klären, wie "Saga" sich auf die gesamte Frontend-Entwicklung auswirkt?
Ich bin sicher, es hat etwas mit Async Request Management zu tun, aber ich bin ziemlich verschwommen auf die genaue Beschreibung des Begriffs (wenn relatf zu Front-End). Async-Flüsse zu verwalten erscheint mir nicht wirklich neu, aber der Begriff "Saga" ist eher.

Bearbeiten: Im Rahmen des Sprechens einer gemeinsamen Sprache schien es mir wichtig. Wenn die Frage nicht relevant ist, fügen Sie bitte einen Kommentar hinzu, warum und ich werde die Frage entfernen.

Antwort

0

In Redux-Saga werden Ihre Sagas als Generatorfunktionen geschrieben, die eine Reihe von Nebenwirkungen ergeben. Sie können sich jede dieser Nebenwirkungen als "Untertransaktionen" vorstellen. Offensichtlich ist man über Datenbanken und das andere über ein JS-Zustandsverwaltungsframework (das gewissermaßen eine "Datenbank" für eine Frontend-App ist) geschrieben, so dass ein ähnlicher Ansatz angewendet werden kann, um komplexe, potentiell asynchrone Logiksequenzen auf diesen Daten auszuführen . Ich glaube, das ist die Inspiration hinter der Implementierung von Redux-Saga und dem Grund, sie Sagas zu nennen.

+0

Danke für Ihre Antwort. Dann ist es wie ich vermutete; dass der Begriff "Saga" hier eher isoliert zu dieser Bibliothek verwendet wird (inspiriert, wie Sie es erwähnen). Ich bin der Meinung, dass Generatorfunktionen in Zukunft zunehmend für die Verwaltung von Async-Flüssen verwendet werden, aber ich bin mir nicht sicher, ob der Begriff "Saga" zu einem offiziellen Begriff in der Frontend-Entwicklung wird und ich fühle mich nicht wohl dabei oft gerade noch. Mehrere Blogposts scheinen eine etwas andere (aber wichtige) semantische Bedeutung dessen zu haben, was eine Sage sein soll, wobei einige den Begriff lockerer verwenden als andere. – Trace