【问题标题】:How to fetch the value out of VertX Future object如何从 VertX Future 对象中获取值
【发布时间】:2020-05-14 13:46:50
【问题描述】:

我无法从 Future 对象中检索值。下面是代码供参考

Future<Configure> conf = getLatestVersion(request);
Configure cc = conf.result();
float previousVersion = cc.getVersionNo();

这里是getLatestVersion(request)的实现


public Future<Configure> getLatestVersion(Configure request) {
        Future<Configure> result = Future.future();
        configRepository.getLatestVersionNo(request).setHandler(res -> {
            if (res.succeeded()) {
                result.complete(res.result());
                System.out.println("==result from db =="+res.result());
                System.out.println("== getVersionNo ="+res.result().getVersionNo());
            } else {
                result.fail(res.cause());
            }
        });
        return result;

    }

在 SOP 中,我可以从 result.result()result.result().getVersion() 获取值,但在将此方法的结果返回给上述调用者后,我无法获取值。

我想在这里实现的是我需要来自Future&lt;Configure&gt;Configure pojo 数据。

【问题讨论】:

    标签: vert.x vertx-verticle


    【解决方案1】:

    您应该使用onComplete() 回调(或早期版本中的setHandler()):

    Future<Configure> conf = getLatestVersion(request);
    conf.onComplete( res -> {
      if( res.succeded() ){
        Configure cc = res.result();
        float previousVersion = cc.getVersionNo();
      }
    } );
    
    

    【讨论】:

      猜你喜欢
      • 2019-07-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-24
      • 1970-01-01
      • 2019-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多