code: async def readobj(self):
          
          assert self._parser is not None, "set_parser must be called"
          while True:
              obj = self._parser.gets()
  
              if obj is not False:
                  # TODO: implement resume the read
  
                  # Return any valid object and the Nil->None
                  # case. When its False there is nothing there
                  # to be parsed and we have to wait for more data.
                  return obj
  
              if self._exception:
                  raise self._exception
  
              if self._eof:
                  break
  
              await self._wait_for_data('readobj')
docs: Return a parsed Redis object or an exception
          when something wrong happened.