code: @Deprecated //use foldAsync
      public <R> Future<R> visitAsync(Function<? super T,? extends R> success, Function<? super Throwable,? extends R> failure){
         return foldAsync(success,failure);
      }
docs: Non-blocking visit on the state of this Future
  
  <pre>
  {@code
  Future.ofResult(10)
  .visitAsync(i->i*2, e->-1);
  Future[20]
  
  Future.<Integer>ofError(new RuntimeException())
  .visitAsync(i->i*2, e->-1)
  Future[-1]
  
  }
  </pre>
  
  @param success Function to execute if the previous stage completes successfully
  @param failure Function to execute if this Future fails
  @return Future with the eventual result of the executed Function