Class: PromiseEm::Promise
- Inherits:
-
EventMachine::DefaultDeferrable
- Object
- EventMachine::DefaultDeferrable
- PromiseEm::Promise
- Defined in:
- lib/promise_em/promise.rb
Overview
JavaScript like promise for EventMachine library
Instance Method Summary collapse
- #catch(&block) ⇒ Object
-
#initialize ⇒ Promise
constructor
A new instance of Promise.
- #then(&block) ⇒ Object
Constructor Details
#initialize ⇒ Promise
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 |