筛选列表并从CompletableFuture java异步操作返回响应
您好,我必须筛选并返回CompletableFuture的结果,并将其存储在对象变量中,以便在筛选后使用此对象。从数据库提取列表的Completable方法是,位于salonService中:筛选列表并从CompletableFuture java异步操作返回响应,java,filter,completable-future,Java,Filter,Completable Future,您好,我必须筛选并返回CompletableFuture的结果,并将其存储在对象变量中,以便在筛选后使用此对象。从数据库提取列表的Completable方法是,位于salonService中: public CompletableFuture<List<SalonDTO>> listAllSalons() { return salonRepository.findAllAsync() .thenApply(salonList
public CompletableFuture<List<SalonDTO>> listAllSalons() {
return salonRepository.findAllAsync()
.thenApply(salonList -> ObjectMapperUtils.mapAll(salonList, salonDTO.class));
}
public CompletableFuture listAllSalons(){
返回salonRepository.findAllAsync()
.thennapply(salonList->ObjectMapperUtils.mapAll(salonList,salonDTO.class));
}
然后我尝试用下一种方式过滤信息:
public CompletableFuture<List<SalonDTO>> listKidsByGuardian1() {
return salonService.listAll()
.thenApply(salonDTOList -> {
findsalonByChildAge(salonDTOList);
return salonDTOList;
});
}
private SalonDTO findsalonByChildAge(List<SalonDTO> salonDTOList) {
salonDTOList.stream()
.filter(salon -> salon.getMinAge() > 13);
}
public completable未来列表kidsbyguardian1(){
return salonService.listAll()
.然后申请(salonDTOList->{
findsalonByChildAge(沙龙托利斯特);
回归沙龙主义者;
});
}
私人沙龙寻找沙龙儿童(沙龙列表){
salonDTOList.stream()
.filter(沙龙->沙龙.getMinAge()>13);
}
我不太熟悉CompletableFuture类,所以我不明白如何从这个异步操作中获得一个简单的对象。此外,调试这些异步方法并不容易。有什么建议吗
谢谢 旁注:将条件放在查询中比从数据库下载大量无用的记录并在事后对其进行过滤更有效。事实上,这些记录很少,只有六个寄存器。