<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.util.promise</artifactId>
<version>1.1.2</version>
</dependency>
Deferred<String> deferred = new Deferred<>();
Promise<String> promise = deferred.getPromise();
promise.then(value -> {
})
.catchError(ex -> {
});
Thread thread = new Thread(() -> {
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
}
});
thread.start();