module Delayer::Deferred::Deferredable::Awaitable
Public Instance Methods
+@()
click to toggle source
self が終了して結果が出るまで呼び出し側のDeferredを停止し、 self の結果を返す。 呼び出し側はDeferredブロック内でなければならないが、 _Deferred#next_ を使わずに 直接戻り値を得ることが出来る。 self が失敗した場合は、呼び出し側のDeferredの直近の trap ブロックが呼ばれる。
# File lib/delayer/deferred/deferredable/awaitable.rb, line 9 def +@ response = Fiber.yield(Delayer::Deferred::Request::Await.new(self)) if response.ok? response.value else Delayer::Deferred.fail(response.value) end end
enter_await()
click to toggle source
# File lib/delayer/deferred/deferredable/awaitable.rb, line 18 def enter_await change_sequence(:await) end
exit_await()
click to toggle source
# File lib/delayer/deferred/deferredable/awaitable.rb, line 22 def exit_await change_sequence(:resume) end