forEach(fn, thisp = this) {
        for (const i of this.#indexes()) {
            const v = this.#valList[i];
            const value = this.#isBackgroundFetch(v)
                ? v.__staleWhileFetching
                : v;
            if (value === undefined)
                continue;
            fn.call(thisp, value, this.#keyList[i], this);
        }
    }
Call the supplied function on each item in the cache, in order from
most recently used to least recently used.  fn is called as
fn(value, key, cache).  Does not update age or recenty of use.
Does not iterate over stale values.