При нажатии срабатывала одна часть кода, а при повторном вторая часть кода JavaScript

Мне нужно чтобы при нажатии на кнопку работала первая часть кода.

check = genirateTasks()
const summ = check.reduce((partial_sum, a) => partial_sum + a, 0); 
console.log(summ);

А при повторном нажатии вторая часть кода.

if(taskAnswer.value == ){
console.log(1);
}else{
console.log(2);
}

Можно ли это сделать на чистом JS.

Вот весь код функции

function checkUserAnswer(){
check = genirateTasks()
const summ = check.reduce((partial_sum, a) => partial_sum + a, 0); 
console.log(summ);

if(taskAnswer.value == ){
  console.log(1);
}else{
  console.log(2);
  }
}

И ещеё index.html

<button onclick="checkUserAnswer()" class="btn-info" id="check-btn">Начать!</button>

Ответы (2 шт):

Автор решения: HTO HOT

Вот как один из вариантов.

Для двух нажатий:

const input = document.querySelector('input');
input.addEventListener('click', foo);

function foo(){
  if(!this.classList.contains('active')){
    console.log('1-ая часть кода')
    
    ////код
    this.value = 'закончить'


    this.classList.add('active')

  }else{
     console.log('2-ая часть кода')
  
    this.value = 'Начать!'
    ////код
    this.classList.remove('active')
  
  }


}
<body> 
        <input type="button" value="Начать!">

    </body>

Для двух нажатий + запрет.

const input = document.querySelector('input');
input.addEventListener('click', foo);

function foo(){
  if(!this.classList.contains('active')){
    console.log('1-ая часть кода')
    
    ////код
    this.value = 'закончить'


    this.classList.add('active')

  }else{
     console.log('2-ая часть кода')
  
    this.value = 'ОТКЛЮЧЕНО'
    ////код

    
    this.disabled = true
    
  }
  
}
<body> 
        <input class="one" type="button" value="Начать!">
    </body>

→ Ссылка
Автор решения: MrYogurt

Имхо, самый простой способ, воспользоваться генератором, подробнее здесь.

Пример из документации:

function* generateSequence() {
  yield 1;
  yield 2;
  return 3;
}

let generator = generateSequence();

let one = generator.next();

alert(JSON.stringify(one)); // {value: 1, done: false}
→ Ссылка