Method: Concurrent::Promise#initialize
- Defined in:
- lib/concurrent/promise.rb
#initialize(opts = {}, &block) ⇒ Promise
Initialize a new Promise with the provided options.
34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/concurrent/promise.rb', line 34 def initialize(opts = {}, &block) opts.delete_if { |k, v| v.nil? } @executor = OptionsParser::get_executor_from(opts) || Concurrent.configuration.global_operation_pool @parent = opts.fetch(:parent) { nil } @on_fulfill = opts.fetch(:on_fulfill) { Proc.new { |result| result } } @on_reject = opts.fetch(:on_reject) { Proc.new { |reason| raise reason } } @promise_body = block || Proc.new { |result| result } @state = :unscheduled @children = [] init_obligation end |