类 FutureUtils


  • public class FutureUtils
    extends Object
    基于Future 封装的工具类
    • 构造器概要

      构造器 
      构造器 说明
      FutureUtils()  
    • 方法概要

      所有方法 静态方法 具体方法 
      修饰符和类型 方法 说明
      static <T> T await​(@NotNull io.vertx.core.Future<T> future)
      等待 Future 完成,该方法将异步逻辑变为同步。
      static <T,​R>
      io.vertx.core.Future<R>
      sequential​(Iterator<T> iterator, java.util.function.BiFunction<T,​AtomicBoolean,​io.vertx.core.Future<R>> fun)
      顺序执行
      static <T,​R>
      io.vertx.core.Future<R>
      sequential​(List<T> list, java.util.function.BiFunction<T,​AtomicBoolean,​io.vertx.core.Future<R>> fun)
      顺序执行,默认集合开始元素0
      static <T,​R>
      io.vertx.core.Future<R>
      sequential​(List<T> list, java.util.function.BiFunction<T,​AtomicBoolean,​io.vertx.core.Future<R>> fun, boolean direction)
      顺序执行,默认集合开始元素0
      static <T,​R>
      io.vertx.core.Future<R>
      sequential​(List<T> list, java.util.function.BiFunction<T,​AtomicBoolean,​io.vertx.core.Future<R>> fun, AtomicInteger startIndex, boolean direction)
      顺序执行
      static <T,​R>
      io.vertx.core.Future<R>
      sequential​(T[] arr, java.util.function.BiFunction<T,​AtomicBoolean,​io.vertx.core.Future<R>> fun)
      顺序执行,默认集合开始元素0
    • 构造器详细资料

      • FutureUtils

        public FutureUtils()
    • 方法详细资料

      • sequential

        public static <T,​R> io.vertx.core.Future<R> sequential​(T[] arr,
                                                                     java.util.function.BiFunction<T,​AtomicBoolean,​io.vertx.core.Future<R>> fun)
        顺序执行,默认集合开始元素0
        另请参阅:
        sequential(List, BiFunction, boolean)
      • sequential

        public static <T,​R> io.vertx.core.Future<R> sequential​(List<T> list,
                                                                     java.util.function.BiFunction<T,​AtomicBoolean,​io.vertx.core.Future<R>> fun,
                                                                     AtomicInteger startIndex,
                                                                     boolean direction)
        顺序执行
        类型参数:
        T - 集合元素泛型
        参数:
        list - 等待执行的集合
        fun - 集合中元素需要执行的函数, 函数的第二个入参为 AtomicBoolean 对象, 在当前函数执行时如果设置为 true 则当前函数为最后一个执行函数,后续的不在执行。返回的结果也为该函数的结果
        startIndex - 集合的开始索引,索引值最小为 0
        direction - startIndex 是递增还是递减,如果是true 则为递增,反之则为递减
        返回:
        最后一个元素执行函数返回的结果
      • sequential

        public static <T,​R> io.vertx.core.Future<R> sequential​(Iterator<T> iterator,
                                                                     java.util.function.BiFunction<T,​AtomicBoolean,​io.vertx.core.Future<R>> fun)
        顺序执行
        类型参数:
        T - 集合元素泛型
        参数:
        iterator - 迭代器
        fun - 集合中元素需要执行的函数, 函数的第二个入参为 AtomicBoolean 对象, 在当前函数执行时如果设置为 true 则当前函数为最后一个执行函数,后续的不在执行。返回的结果也为该函数的结果
        返回:
        最后一个元素执行函数返回的结果
      • await

        @Nullable
        public static <T> T await​(@NotNull
                                  @NotNull io.vertx.core.Future<T> future)
        等待 Future 完成,该方法将异步逻辑变为同步。

        需要注意的是:该方法不能在 Vertx 的线程中执行,通常是在 main 线程中初始化时使用