Lefseq,
попробуйте так
let nums = [0, 16249, 36721, 53029, 81583, 124819]; // до какого числа анимировать
let secs = [0, 1, 1, 1, 1, 1]; //сколько времени будет длиться анимация
let pause = [3, 3, 3, 3, 3, 0]; //пауза, после которой, запустится следующая анимация
const elem = document.querySelector('.numnew');
const anim = (i, r) => {
let d = performance.now(),
from = +elem.textContent,
to = nums[i],
duration = secs[i] * 1000;
setTimeout( function e() {
let b = performance.now()
b = (b - d) / duration;
1 <= b && (b = 1);
let c = from + (to - from) * b | 0;
elem.innerHTML = c;
b == 1 && setTimeout(r,pause[i] * 1000);
1 > b && setTimeout(e, 80)
}, 80)
}
const delay = i => new Promise(r => anim(i, r));
(async () => {
for (let i = 0; i < secs.length; i++) {
await delay(i);
}
})();