注:本文基于 jdk1.8
1. 异步不需要返回值;
CompletableFuture.runAsync()
示例代码如下:
public JsonResult test() {
JsonResult result = new JsonResult();
CompletableFuture.runAsync(() -> {
// 准备请求
JsonResult postResult = appTool.postRequest(url, params, headers);
// 请求结果处理
if (!postResult.getCode().equals("0")) {
// 请求失败
logger.error("请求失败");
}
});
return result;
}
在上述代码中,把一个请求异步执行,方法不必等待post请求结束;
2.异步需要返回值;
CompletableFuture.supplyAsync()
示例代码如下:
publicString test() {
CompletableFuture future = CompletableFuture.supplyAsync(() ->{//准备请求
JsonResult postResult =appTool.postRequest(url, params, headers);returnpostResult.getCode();
});//get()