code: async def wait(self, timeout=None):
          
  
          await asyncio.wait_for(self._future, timeout)
  
          if self._exception is not None:
              self._raise_exception()
  
          return self._result
docs: Wait for this operation to finish.
  
          You can specify an optional timeout that defaults to no timeout if
          None is passed.  The result of the operation is returned from this
          method. If the operation raised an exception, it is reraised from this
          method.
  
          Args:
              timeout (float): The maximum number of seconds to wait before timing
                  out.