class Concurrent::Promises::ThenPromise

Public Class Methods

new(delayed, blockers_count, default_executor, executor, args, &task) click to toggle source
# File lib/concurrent-ruby/concurrent/promises.rb, line 1723
def initialize(delayed, blockers_count, default_executor, executor, args, &task)
  super delayed, blockers_count, default_executor, executor, args, &task
end

Private Instance Methods

on_resolvable(resolved_future, index) click to toggle source
# File lib/concurrent-ruby/concurrent/promises.rb, line 1727
def on_resolvable(resolved_future, index)
  if resolved_future.fulfilled?
    Concurrent.executor(@Executor).post(resolved_future, @Args, @Task) do |future, args, task|
      evaluate_to lambda { future.apply args, task }
    end
  else
    resolve_with resolved_future.internal_state
  end
end