Могу ли я отменить обещание Play Framework?
-
21-12-2019 - |
Вопрос
Есть ли разумный способ остановить обещание Play Framework?Например,
import play.api.libs.concurrent.Promise
val timeoutFuture = Promise.timeout({
Logger.info("timeout expired.")
}, myTimeoutValue)
Какой был бы хороший способ отменить это будущее раньше myTimeoutValue
истекает?
Решение 2
В конце концов, боюсь, ответ был отрицательным — не было возможности отменить такое обещание до истечения тайм-аута.
Другие советы
Если период ожидания слишком длинный, просто уменьшите myTimeoutValue
.Если вы хотите прервать выполнение, это способ показано здесь завершив будущее.
Однако это сомнительный способ сделать что-то, поскольку вы можете просто игнорировать результат вашего обещания/будущего, если он занимает слишком много времени, но поскольку вам придется установить период, когда он слишком длинный, тогда это так же хорошо, как положить это как значение тайм-аута.