Class: PromiseEm::Promise

Inherits:
EventMachine::DefaultDeferrable
  • Object
show all
Defined in:
lib/promise_em/promise.rb

Overview

JavaScript like promise for EventMachine library

Instance Method Summary collapse

Constructor Details

#initializePromise

Returns a new instance of Promise.



6
7
8
9
10
11
12
13
# File 'lib/promise_em/promise.rb', line 6

def initialize
  @then_callbacks = []
  @catch_callbacks = []
  context = self
  @resolve = create_resolve_proc(context)
  @reject = create_reject_proc(context)
  ::EventMachine.next_tick { yield(@resolve, @reject) } if block_given?
end

Instance Method Details

#catch(&block) ⇒ Object



20
21
22
23
# File 'lib/promise_em/promise.rb', line 20

def catch(&block)
  @catch_callbacks << block
  self
end

#then(&block) ⇒ Object



15
16
17
18
# File 'lib/promise_em/promise.rb', line 15

def then(&block)
  @then_callbacks << block
  self
end