पाठ 9 / 38

CompletableFuture

thenApply, thenCompose व thenCombine से नॉन-ब्लॉकिंग असिंक्रोनस पाइपलाइन जोड़ें, और exceptionally तथा handle से विफलताओं से उबरें।

chain, combine, handle

thenApply रूपांतरण, thenCompose फ़्लैट-मैप, thenCombine जोड़ना, exceptionally विफलता से उबरना — बिना ब्लॉक किए।

CompletableFuture
    .supplyAsync(() -> fetchUser(id), pool)
    .thenCompose(u -> loadOrdersAsync(u))
    .thenApply(this::summarise)
    .exceptionally(ex -> Summary.empty())
    .thenAccept(System.out::println);

Async रूप और कई को जोड़ना

thenApply उसी थ्रेड पर चलता है जिसने future पूरा किया; thenApplyAsync(fn, pool) आपके पूल पर चलना सुनिश्चित करता है। allOf(...) सभी की प्रतीक्षा करता है, anyOf(...) पहले पूरे होने वाले की।