def METHOD_NAME(self, ms, throttle=None, t0=None):
    r"""*New in v3.2.0*
    An iterator that loops for a fixed time.
    Parameters
    ----------
    ms : int. float
        The number of milliseconds to loop for.
    throttle : NoneType, float, int, optional
        A period to sleep for in between each iteration.
    t0 : NoneType, float, int, optional
        A starting time. If `None`, the starting time is the moment at
        which the iteration starts.
    Returns
    -------
    Examples
    --------
    >>> for ms in clock.loop_for(100, throttle=10):
    >>>     print(ms)
    """
    if t0 is None:
        t0 = self.time()
    while True:
        dt = self.time() - t0
        if dt >= ms:
            break
        yield dt
        if throttle is not None:
            self.sleep(throttle)