const cache = {};
let called1 = 0;
let called2 = 0;
// This PR
const cacheFunc1 = (k, fn) => {
if (cache[k] != null) return cache[k];
const result = fn();
cache[k] = result;
return result;
}
// PR #3744
const cacheFunc2 = (k, fn) => {
if (cache[k] != null) return cache[k];
cache[k] = fn();
const result = fn();
return result;
}
cacheFunc1('1', () => { return called1++; });
cacheFunc1('1', () => { return called1++; });
cacheFunc1('1', () => { return called1++; });
cacheFunc2('2', () => { return called2++; });
cacheFunc2('2', () => { return called2++; });
cacheFunc2('2', () => { return called2++; });
console.log(called1, called2);