文章詳情頁
java - CompletableFuture allof 超時處理
瀏覽:73日期:2023-11-08 16:18:59
問題描述
想實現的效果:future的集合如果在3秒內沒有返回的化就執行提取出其中已經完成的future。
編譯報錯,'Cannot infer functional interface type.'
問題解答
回答1:編譯報錯的問題,是題主沒有太仔細哈,這個很容易就檢查出來了可以看到這個報錯標紅的地方,在applyToEither方法的第二個參數上,那查看一哈applyToEither方法的參數格式
public <U> CompletableFuture<U> applyToEither(CompletionStage<? extends T> other, Function<? super T, U> fn) {return orApplyStage(null, other, fn); }
第二個參數是一個Function,Function要求的是根據一個參數返回一個結果,而題主寫的很明顯,是沒有參數的啊,寫成了一個Supplier,當然參數類型是不符合方法applyToEither的要求噻
標簽:
java
相關文章:
排行榜
