'If the operation succeeded, return its result.  If it failed,
re-raise its exception.
This method takes a ``timeout`` argument for compatibility with
`concurrent.futures.Future` but it is an error to call it
before the `Future` is done, so the ``timeout`` is never used.'

def result(self, timeout=None):

    self._clear_tb_log()
    if (self._result is not None):
        return self._result
    if (self._exc_info is not None):
        try:
            raise_exc_info(self._exc_info)
        finally:
            self = None
    self._check_done()
    return self._result
