class_docstr: Vectorized environment that runs multiple environments in parallel.
  
  It uses ``multiprocessing`` processes, and pipes for communication.
  
  Example::
  
      >>> import gym
      >>> env = gym.vector.AsyncVectorEnv([
      ...     lambda: gym.make("Pendulum-v0", g=9.81),
      ...     lambda: gym.make("Pendulum-v0", g=1.62)
      ... ])
      >>> env.reset()
      array([[-0.8286432 ,  0.5597771 ,  0.90249056],
             [-0.85009176,  0.5266346 ,  0.60007906]], dtype=float32)
class_docstr_tok: ["Vectorized","environment","that","runs","multiple","environments","in","parallel",".","It","uses","``","multiprocessing","``","processes",",","and","pipes","for","communication",".","Example",":",":",">",">",">","import","gym",">",">",">","env","=","gym.vector.AsyncVectorEnv","(","[","...","lambda",":","gym.make","(","``","Pendulum-v0","''",",","g=9.81",")",",","...","lambda",":","gym.make","(","``","Pendulum-v0","''",",","g=1.62",")","...","]",")",">",">",">","env.reset","(",")","array","(","[","[","-0.8286432",",","0.5597771",",","0.90249056","]",",","[","-0.85009176",",","0.5266346",",","0.60007906","]","]",",","dtype=float32",")"]
docstr: Calls all parent pipes and waits for the results.
  
  Args:
      timeout: Number of seconds before the call to `step_wait` times out.
          If `None` (default), the call to `step_wait` never times out.
  
  Returns:
      List of the results of the individual calls to the method or property for each environment.
  
  Raises:
      NoAsyncCallError: Calling `call_wait` without any prior call to `call_async`.
      TimeoutError: The call to `call_wait` has timed out after timeout second(s).
docstr_tok: ["Calls","all","parent","pipes","and","waits","for","the","results",".","Args",":","timeout",":","Number","of","seconds","before","the","call","to","`","step_wait","`","times","out",".","If","`","None","`","(","default",")",",","the","call","to","`","step_wait","`","never","times","out",".","Returns",":","List","of","the","results","of","the","individual","calls","to","the","method","or","property","for","each","environment",".","Raises",":","NoAsyncCallError",":","Calling","`","call_wait","`","without","any","prior","call","to","`","call_async","`",".","TimeoutError",":","The","call","to","`","call_wait","`","has","timed","out","after","timeout","second","(","s",")","."]
code: def call_wait(
      self, timeout: Optional[Union[int, float]] = None
  ) -> list:
      """Calls all parent pipes and waits for the results.
  
      Args:
          timeout: Number of seconds before the call to `step_wait` times out.
              If `None` (default), the call to `step_wait` never times out.
  
      Returns:
          List of the results of the individual calls to the method or property for each environment.
  
      Raises:
          NoAsyncCallError: Calling `call_wait` without any prior call to `call_async`.
          TimeoutError: The call to `call_wait` has timed out after timeout second(s).
      """
      self._assert_is_running()
      if self._state != AsyncState.WAITING_CALL:
          raise NoAsyncCallError(
              "Calling `call_wait` without any prior call to `call_async`.",
              AsyncState.WAITING_CALL.value,
          )
  
      if not self._poll(timeout):
          self._state = AsyncState.DEFAULT
          raise mp.TimeoutError(
              f"The call to `call_wait` has timed out after {timeout} second(s)."
          )
  
      results, successes = zip(
          *[pipe.recv() for pipe in self.parent_pipes]
      )
      self._raise_if_errors(successes)
      self._state = AsyncState.DEFAULT
  
      return results
  
imports: import multiprocessing
  import sys
  import time
  from copy import deepcopy
  from enum import Enum
  from typing import List, Optional, Sequence, Tuple, Union
  import numpy
  import gym
  from gym import logger
  from gym.core import ObsType
  from gym.error import AlreadyPendingCallError, ClosedEnvironmentError, CustomSpaceError, NoAsyncCallError
  from gym.vector.utils import CloudpickleWrapper, clear_mpi_env_vars, concatenate, create_empty_array, create_shared_memory, iterate, read_from_shared_memory, write_to_shared_memory
  from gym.vector.vector_env import VectorEnv
label_desc: Use image node_id 7 for calling the AsyncVectorEnv obj's underlying member method code with example usage: obj.call_wait(timeout) and returns: results