Fetch API via GET

Boa tarde comunidade, venho tirar uma dúvida de como eu bloqueio uma requisição depois do primeiro disparo de CLICK no evento de escuta. Se eu clicar mais de uma vez em um determinado botão ele retorna a mesma informação,

detlahes: não quero usar setAtribute no código.

Segue o Code:

"

Recebedo requisição AJAX
<div id="search">
   <ul id='return'>
  
   </ul>
   <button id="recebe">Receber requisição</button>
</div>

<script>
let retorna = document.querySelector('#return')
let recebe = document.querySelector('#recebe')
let search = document.querySelector('#search')

recebe.addEventListener('click',ev=>{
    ev.preventDefault()

    fetch('https://reqres.in/api/users?page=2')
       
    .then(response=>response.json())

    .then(response=>{
        console.log(response.data)
        response.data.forEach(user=>{
            let cria = document.createElement('li')
            cria.innerHTML='<img src="'+user.avatar+'"><br>Name:<span>'+user.first_name+'</span>';
            retorna.style.backgroundColor='#f1f1f1';
            retorna.style.width='200px';
            retorna.appendChild(cria)
            
        })
    })
})
</script>
"

acredito que precisaria de uma variavel para saber que foi clicada, e vc colocaria um fetch dentro de um bloco if, controlado por essa variavel, e no then, depois de pegar a resposta, voce muda o estado dela.

ja tentou fazer assim?