class Concurrent::Promises::ResolvableFuture

def value(timeout = nil, timeout_value = nil, resolve_on_timeout = nil)

Other tags:
    See: Future#value -

Returns:
  • (Object, timeout_value, nil) -
def value(timeout = nil, timeout_value = nil, resolve_on_timeout = nil)
  if wait_until_resolved timeout
    internal_state.value
  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
        return internal_state.value
      end
    end
    timeout_value
  end
end