JSFiddle - React, Tailwind, and code Playground
JavaScript
let iteration = 0;
collectGems();
async function collectGems(speed = 1000) {
if (speed <= 0) {
console.log("You did it!");
return;
}
const duration = await grind(speed);
console.log("Iteration", iteration, "Grind Time (ms):", duration);
iteration++;
collectGems(speed - (10 + iteration**2));
}
function grind(speed) {
const start = Date.now();
return new Promise((resolve) => setTimeout(() => {
const duration = Date.now() - start;
resolve(duration)
}, speed))
}