为了账号安全,请及时绑定邮箱和手机立即绑定

Java 如何将 Callback 转 Promise?

Java 如何将 Callback 转 Promise?

慕标5832272 2019-03-21 14:30:36
Java 如何将 Callback 转 Promise?场景之前 Java 使用回调函数实现了等待指定资源加载然后执行回调,现在想修改为 Promise 风格的,有什么好的方法么?例如void watch(Predicate<String> f, Consumer<Stat> callback)转换成Future<Stat> watch(Predicate<String> f)顺便说一下,吾辈在 JavaScript 中倒是习惯了 Promise 的异步,但 Java 中却是不怎么熟悉呢。。。下面是将 setTimeout 封装为 Promise 的代码var wait = ms => new Promise(res => setTimeout(res, ms))所以,有什么好的解决方案么?吾辈知道 Java 中有 CompletedFuture 和 CompletableFuture,然而不知道的是如何创建一个 CompletableFuture 对象并在构造过程中使用绑定的回调函数例如吾辈确实可以将下面这种代码转换为柯里化的函数default void watch(String path, Consumer<Stat> callback) {     watch(map -> map.get(ListUtil.ListDiffState.right).stream()             .filter(stat -> Objects.equals(stat.getPath(), path))             .findFirst(), callback); }转换后default Consumer<Consumer<Stat>> watch(String path) {    return callback -> watch(path, callback); }然而,吾辈却无法将之转换为 CompletedFuture 异步风格(拿不到 CompletedFuture 绑定的回调函数),求教!
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 625 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信