code: def _check_fulfilled(self):
          
          is_fulfilled = False
          result = None
          start_time = time.time()
  
          # Check whether the promise has been fulfilled until we run out of time or attempts
          while self._has_time_left(start_time) and self._has_more_tries():
  
              # Keep track of how many attempts we've made so far
              self._num_tries += 1
  
              is_fulfilled, result = self._check_func()
  
              # If the promise is satisfied, then continue execution
              if is_fulfilled:
                  break
  
              # Delay between checks
              time.sleep(self._try_interval)
  
          return is_fulfilled, result
docs: Return tuple `(is_fulfilled, result)` where
          `is_fulfilled` is a boolean indicating whether the promise has been fulfilled
          and `result` is the value to pass to the `with` block.