Java 如何将 Callback 转 Promise?

Java如何将Callback转Promise?
场景
之前Java使用回调函数实现了等待指定资源加载然后执行回调,现在想修改为Promise风格的,有什么好的方法么?
例如
voidwatch(Predicatef,Consumercallback)
转换成
Futurewatch(Predicatef)
顺便说一下,吾辈在JavaScript中倒是习惯了Promise的异步,但Java中却是不怎么熟悉呢。。。下面是将setTimeout封装为Promise的代码
varwait=ms=>newPromise(res=>setTimeout(res,ms))
所以,有什么好的解决方案么?
吾辈知道Java中有CompletedFuture和CompletableFuture,然而不知道的是如何创建一个CompletableFuture对象并在构造过程中使用绑定的回调函数
例如吾辈确实可以将下面这种代码转换为柯里化的函数
defaultvoidwatch(Stringpath,Consumercallback){
watch(map->map.get(ListUtil.ListDiffState.right).stream()
.filter(stat->Objects.equals(stat.getPath(),path))
.findFirst(),callback);
}
转换后
defaultConsumer>watch(Stringpath){
returncallback->watch(path,callback);
}
然而,吾辈却无法将之转换为CompletedFuture异步风格(拿不到CompletedFuture绑定的回调函数),求教!
料青山看我应如是
浏览 713回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript