Я хочу запустить метод после выполнения стороннего метода (который выполняется в асинхронном режиме c):
public static void main(String[] args) {
CompletableFuture<Void> task1 = request1();
task1.thenRun(() -> System.out.println("should print after task1 is done!"));
}
public static CompletableFuture<Void> request1() {
// call 3rd party method which is executed async
lib.printData();
return null;
}
Однако он не работает, поскольку 3-й Метод party lib.printData()
не возвращает CompletableFuture. Есть ли способ подождать, пока выполняется сторонний метод? На самом деле я делаю так, но это не совсем правильно:
public static void main(String[] args) {
request1();
// hoping that request will execute within 1 sec
Thread.sleep(1000);
System.out.println("should print after request1 is done!");
}