import scalaz.concurrent.Task;
public class AsyncExample {
public static void main(String[] args) {
Task<String> task = Task.delay(() -> "Hello, World!");
Task<String> asyncTask = task.flatMap(result -> Task.delay(() -> {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
return result.toUpperCase();
}));
asyncTask.runAsync(System.out::println);
}
}