首頁  >  問答  >  主體

java - CompletableFuture allof 逾時處理

想實現的效果:future的集合如果在3秒內沒有回傳的化就執行提取出其中已經完成的future。

編譯報錯,"Cannot infer functional interface type."

#
黄舟黄舟2661 天前1763

全部回覆(1)我來回復

  • 世界只因有你

    世界只因有你2017-06-12 09:26:13

    編譯報錯的問題,是題主沒有太仔細哈,這個很容易就檢查出來了
    可以看到這個報錯標紅的地方,在applyToEither方法的第二個參數上,那查看一哈applyToEither 方法的參數格式

    public <U> CompletableFuture<U> applyToEither(
            CompletionStage<? extends T> other, Function<? super T, U> fn) {
            return orApplyStage(null, other, fn);
        }

    第二個參數是一個FunctionFunction要求的是根據一個參數回傳一個結果,而題主寫的很明顯,是沒有參數的啊,寫成了一個Supplier,當然參數類型是不符合方法applyToEither的要求噻

    回覆
    0
  • 取消回覆