Ich habe eine React + Redux-Anwendung (gebaut und verteilt mit Elektron), die einmal am Tag, zu einer bestimmten Stunde in der Nacht, herunterladen und in das Dateisystem des Benutzers mehrere Dateien speichern soll.Redux Heavy Lifting: Wo soll ich mehrere Dateien herunterladen und speichern?
Die API-Aufrufe und die Gesamtanzahl der Operationen scheinen mir ein bisschen zu viel in den Reduzierern zu sein, also bin ich hier um zu fragen, ob es ein besseres Designmuster dafür gibt.
Nur um Ihnen eine Vorstellung zu geben, ist hier die Operationen führe ich sollte diese Aufgabe abzuschließen:
- [API-Aufruf] eine Liste von Ordnern aus dem Remote-Service erhalten
- [API-Aufruf] für jede Ordner, erhalten eine Liste der Inhalte
- [FS]: überprüfen, ob der lokale Inhalt vorhanden ist und die gleiche Version wie die Fern eines
- [API-Aufruf] ist, wenn nicht, download Inhalt
- [FS] speichern Inhalt
Die Anzahl der beteiligten Ordner im Bereich von 10 bis 30 und der Inhalt leicht auf 100 oder mehr gehen könnte, um Dateisystem auf.
Kernpunkte:
- Der Benutzer nicht mit der App während dieser Operation, so dass keine Notwendigkeit für Webworker oder andere Asynchron-schwarze Magie
- Der Sync durch ein externes Skript in ein anderes getan werden könnte, Sprache, aber ich würde lieber alle Logik in einer einzigen App für die einfache Verteilung und Einrichtung
- Alle oben genannten Punkte als [API-Aufruf] sind in meinem aktuellen Setup asynchron, so dass es ein bisschen nicht trivial Rückruf ist Management beteiligt
Irgendeine Idee auf, wo ich diesen ganzen Bündel Code setzen könnte, während ich meinen Code immer noch lesbar und wartbar halte? Sollte es der Reducer, Action Creator, Container-Komponente, Präsentations-Komponente oder etwas anderes sein?
Danke!
Definitiv nicht leicht zu verstehen, aber wirklich hilfreich in diesem Anwendungsfall! Danke für den Hinweis, ich endete mit einem ziemlich sauberen und ordentlichen Code! – GavinoGrifoni