code: async def result(self, timeout: Optional[float] = None, *, pole_delay: float = 0.5) -> Any:
          
          async for delay in poll(pole_delay):
              info = await self.result_info()
              if info:
                  result = info.result
                  if info.success:
                      return result
                  else:
                      raise result
              if timeout is not None and delay > timeout:
                  raise asyncio.TimeoutError()
docs: Get the result of the job, including waiting if it's not yet available. If the job raised an exception,
          it will be raised here.
  
          :param timeout: maximum time to wait for the job result before raising ``TimeoutError``, will wait forever
          :param pole_delay: how often to poll redis for the job result