Anulowanie z przyszłością i obietnicą w Scala
To jest kontynuacjamoje poprzednie pytanie.
Załóżmy, że mam zadanie, które wykonujeprzerywalny blokowanie połączenia. Chciałbym go uruchomić jakoFuture
iAnuluj to zfailure
metodaPromise
.
ChciałbymAnuluj działać w następujący sposób:
Gdyby jedenanuluje zadanieprzed skończyłem Chciałbym, aby zadanie zakończyło się „natychmiast”, przerywając blokowanie, jeśli już się rozpoczęło i chciałbym, abyFuture
przywoływaćonFailure
.
Gdyby jedenanuluje zadaniepo zadanie zostało zakończone Chciałbym uzyskać status mówiący, że anulowanie nie powiodło się, ponieważ zadanie zostało już zakończone.
Czy jest sens? Czy możliwe jest wdrożenie w Scali? Czy są jakieś przykłady takich wdrożeń?