Frage

Gibt es eine empfehlenswerte Möglichkeit, ein Play Framework-Versprechen zu stoppen?Zum Beispiel,

import play.api.libs.concurrent.Promise

val timeoutFuture = Promise.timeout({
    Logger.info("timeout expired.")
}, myTimeoutValue)

Was wäre eine gute Möglichkeit, diese Zukunft vorher zu kündigen? myTimeoutValue läuft ab?

War es hilfreich?

Lösung 2

Am Ende befürchte ich, dass die Antwort nein war - es gab keine Möglichkeit, ein solches Versprechen zu stornieren, bevor das Timeout abläuft.

Andere Tipps

Wenn die Timeout-Zeit zu lang ist, reduzieren Sie sie einfach myTimeoutValue.Wenn Sie die Ausführung unterbrechen möchten, ist dies eine Möglichkeit hier gezeigt durch die Vervollständigung einer Zukunft.

Dies ist jedoch eine fragwürdige Vorgehensweise, da Sie das Ergebnis Ihres Versprechens/Ihrer Zukunft einfach ignorieren können, wenn es zu lange dauert. Da Sie jedoch einen Zeitraum festlegen müssen, in dem es zu lang ist, ist es genauso gut, dies so zu formulieren der Timeout-Wert.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top