code: func PollImmediateUntil(interval time.Duration, condition ConditionFunc, stopCh <-chan struct{}) error {
  	done, err := condition()
  	if err != nil {
  		return err
  	}
  	if done {
  		return nil
  	}
  	select {
  	case <-stopCh:
  		return ErrWaitTimeout
  	default:
  		return PollUntil(interval, condition, stopCh)
  	}
  }
docs: // PollImmediateUntil tries a condition func until it returns true, an error or stopCh is closed.
  //
  // PollImmediateUntil runs the 'condition' before waiting for the interval.
  // 'condition' will always be invoked at least once.