我一直在Java 8中使用CompletionStage/CompletableFuture来进行异步处理,这非常有效.但是,有时我想要一个阶段来执行迭代器/项目流的异步处理,似乎没有办法做到这一点.
具体来说,Stream.forEach()具有语句,在调用之后所有项都已处理完毕.我想要同样的东西,但改为使用CompletionStage,例如:
CompletionStage<Void> done = stream.forEach(...);
done.thenRun(...);
Run Code Online (Sandbox Code Playgroud)
如果Stream由异步流式传输结果支持,那么比等待它在上面的代码本身中完成要好得多.
是否有可能以某种方式使用当前的Java 8 API构建它?解决方法?