Почему setInterval делает бесконечные циклы

Я пытаюсь установить таймер, чтобы он отображал секунды и минуты, оставшиеся от пользователя, и я использую setInterval, чтобы получить секунды, и если есть 60 секунд, это уменьшит 1 минуту от пользователя. Дело в том, что я получаю бесконечное количество дураков каждый раз, когда пытаюсь это сделать.

что-то вроде

var userObj = {
    name: "",
    min: 0,
    sec:0
}

function timerCount() {
    while (userObj.sec !== 0) {
        console.log(userObj.min)
        if (userObj.sec == 0) {
            setInterval(function() {
                userObj.min--;
                userObj.sec = 59     
            }, 1000);
        }
        while(userObj.sec !== 0) {
            setInterval(function() {
                console.log(userObj.sec)
                userObj.sec--;  
            }, 1000);
        }
    }
}

Ответы на вопрос(3)

Ваш ответ на вопрос