我的代码;
List<String> items = ...
ConcurrentMap<String,String> resultsByItem = new ConcurrentHashMap<>();
Future<Void> allWork = CompletableFuture.allOf(
items.stream()
.map(item -> someWork(item) // Get a completable future for this item
.andThen(result -> resultsByItem.put(item,result)) // Append the result to the map
).toArray(CompletableFuture[]::new)
);
allWork.join();
// Your futureMap is completed.
正如您在断点结果中看到的那样;
Future<List<PostModel>> getautoPost(User user,int count) async {
List<PostModel> posts = new List<PostModel>();
//other proces...
List<PostModel> fromUserPost = await getPostUsers(user,fromUser);
posts.addAll(fromUserPost);
List<PostModel> fromGroupPost = await getPostGroups(user,fromGroup);
posts.addAll(fromGroupPost);
return posts;
}
和fromUserPost
返回相同的结果,
但是fromGroupPost
功能不适用于addAll()
。
当我清除断点时,fromUserPost
返回相同的posts
的大小。
这是什么原因?