我想在执行第3方方法(异步运行)后运行一个方法:
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;
}
但是,它不起作用,因为第三方方法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!");
}