<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def value(self):
 """Get the value of the finished async request, if it is available. :raises CloudUnhandledError: When not checking value of `error` or `is_done` first :return: the payload value :rtype: str """

        status_code, error_msg, payload = self.check_error()

        if not self._status_ok(status_code) and not payload:
            raise CloudUnhandledError("Attempted to decode async request which returned an error.",
                                      reason=error_msg,
                                      status=status_code)
        return self.db[self.async_id]["payload"]