Posso interrompere una promessa di Play Framework?
-
21-12-2019 - |
Domanda
Esiste un modo consigliabile per interrompere una promessa di Play Framework?Ad esempio,
import play.api.libs.concurrent.Promise
val timeoutFuture = Promise.timeout({
Logger.info("timeout expired.")
}, myTimeoutValue)
Quale sarebbe un buon modo per cancellare prima questo futuro myTimeoutValue
scade?
Soluzione 2
Alla fine ho paura che la risposta fosse no - non c'era modo di annullare tale promessa prima che il timeout scada.
Altri suggerimenti
Se il periodo di timeout è troppo lungo, riduci semplicemente il file myTimeoutValue
.Se desideri interrompere l'esecuzione c'è un modo mostrato qui completando un futuro.
Questo è tuttavia un modo discutibile di fare le cose poiché puoi semplicemente ignorare il risultato della tua Promessa/Futuro se impiega troppo tempo, ma poiché dovrai impostare un periodo per quando è troppo lungo, allora è meglio metterlo come il valore di timeout.