class Concurrent::Promises::ResolvableFuture

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

Other tags:
    See: Future#value! -

Raises:
  • (Exception) - {#reason} on rejection

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
        raise self if rejected?
        return internal_state.value
      end
    end
    timeout_value
  end
end