class Concurrent::Promises::ResolvableFuture

def result(timeout = nil, resolve_on_timeout = nil)

Other tags:
    See: Future#result -

Returns:
  • (::Array(Boolean, Object, Exception), nil) -
def result(timeout = nil, resolve_on_timeout = nil)
  if wait_until_resolved timeout
    internal_state.result
  else
    if resolve_on_timeout
      unless resolve(*resolve_on_timeout, false)
        # if it fails to resolve it was resolved in the meantime
        # so return value as if there was no timeout
        internal_state.result
      end
    end
    # otherwise returns nil
  end
end