Ich bin neu zu spielen Wie ich verstehe, könnte es falsch sein, Spiel-Framework ist nicht blockierend durch die Behandlung von Anfragen in einer asynchronen Art und Weise, lange blockierende Operationen sollten asynchron mit Versprechungen erfolgen. Wann sollte ich Versprechen oder abgebildete Versprechungen verwenden, um eine bestimmte Anfrage zu bearbeiten und wann nicht?Im Play-Framework, wann verwenden Sie Promises, um eine Anfrage zu bearbeiten und wann nicht?
Nehmen wir zum Beispiel an, ein Benutzer lädt eine Datei hoch, wenn sie an den Controller gelangt, verschiebe ich die Datei aus dem temporären Ordner in einen gewünschten Ordner und füge einen Datenbankeintrag ein. Dies beinhaltet 2 blockierende Operationen, das Verschieben und Einfügen der Datei in die Datenbank. Nehmen wir an, die Datei ist nicht groß, sagen wir 10MB, also sollte die Datei sich schnell bewegen. Und das Einfügen eines DB-Datensatzes sollte auch schnell mit einem blockierenden Datenbanktreiber erfolgen.
In diesem einfachen Fall, sollte ich ein Versprechen/Zukunft verwenden, um die 2 Operationen oder 2 abgebildete Versprechen zu machen (Datei verschieben dann db Datensatz einfügen) oder überhaupt kein Versprechen verwenden? Und warum?
Bitte teilen Sie Ihre Gedanken/Erfahrungen. Vielen Dank im Voraus.
Vielen Dank Andrew für die klare Erklärung, die mir viel Sinn macht. – Kevin