java 异步调用多个接口获取结果
时间: 2023-08-13 21:08:34 浏览: 151
Java 异步调用多个接口获取结果的一种方式是使用 CompletableFuture 类。下面是一个简单的示例代码:
```java
CompletableFuture<String> future1 = CompletableFuture.supplyAsync(() -> {
// 调用接口1,返回结果
return "result1";
});
CompletableFuture<String> future2 = CompletableFuture.supplyAsync(() -> {
// 调用接口2,返回结果
return "result2";
});
CompletableFuture<String> future3 = CompletableFuture.supplyAsync(() -> {
// 调用接口3,返回结果
return "result3";
});
// 等待所有异步调用完成,再获取结果
CompletableFuture.allOf(future1, future2, future3)
.thenRun(() -> {
// 打印结果
System.out.println(future1.join());
System.out.println(future2.join());
System.out.println(future3.join());
});
```
这个例子中,我们创建了三个 CompletableFuture 对象,分别对应三个异步调用。在最后,我们使用 CompletableFuture.allOf() 方法等待所有异步调用完成,然后使用 CompletableFuture.join() 方法获取它们的结果。注意,这里的 join() 方法会阻塞当前线程,直到对应的 CompletableFuture 完成并返回结果。如果某个异步调用失败了,我们可以使用 CompletableFuture.exceptionally() 方法进行异常处理。
阅读全文