how to get nested interval value

Viewed 41

how do i get value inside setinterval funtion -> to main function.

import ms from 'ms';

const progress = totalTime => {
  const duration = totalTime ?? ms('1m');
  const startTime = new Date().getTime();

  const bar = () => {
    const diff = Math.round(new Date().getTime() - startTime);

    let val = Math.round((diff / duration) * 100) + 20;
    val >= 100 && diff !== duration ? (val += 20) : 150;
    val = val > 150 ? 150 : val;

    diff >= duration || val >= 150 ? clearInterval(interval) : false;

    return val;
  };

  let interval = setInterval(bar, ms('5s'));

  return bar();
};

console.log(progress());

expected result:

  • progress function should return value inside setinterval every 5 seconds.
  • should update progress function value every 5 seconds or both inverval function value and progress value should be same every x seconds.
0 Answers
Related