CompletionStage,CompletableFuture无效-返回什么?

时间:2019-11-26 16:37:06

标签: java reactive-programming reactive completable-future

这是我的方法:

public CompletionStage<Void> insert(List<HashAction> hashActionList) {
    if(!hashActionList.isEmpty()) {
        return ...
    }
    // what to return here ?
}

我不知道如果我的清单为空会返回什么。不确定空值是否好,因为之后我将不得不检查空值。

我尝试过

return CompletableFuture.completedFuture(null);

但是我并不确定,因为我随机选择了一种CompletionStage实现

1 个答案:

答案 0 :(得分:1)

您只需使用空的异步运行方法即可返回CompletableFuture<Void>

public CompletionStage<Void> insert(List<String> hashActionList) {
    if(!hashActionList.isEmpty()) {
        return null;
    }
    return CompletableFuture.runAsync(()->{});
}

或者您可以使用thenAccept返回CompletionStage<Void>并避免null

return CompletableFuture.completedFuture(null).thenAccept(i->{});