1
resposta

Durante o treinamento me deparei com o seguinte erro:

remove-livro.js:8 Uncaught TypeError: {(intermediate value)}.then is not a function
    at HTMLTableElement.<anonymous> (remove-livro.js:8)
(anonymous) @ remove-livro.js:8

Baseado em: let tabelaLivros = document.querySelector('#livros'); tabelaLivros.addEventListener('click', (e) => { let elementoClicado = e.target;

if (elementoClicado.dataset.type == 'remocao') {
    let livroId = elementoClicado.dataset.ref;        
    fetch(`http://localhost:3000/livros/${livroId}`, { method: 'DELETE' }
        .then(resposta=> {                
            let tr = elementoClicado.closest(`#livro_${livroId}`);
            tr.remove();                
        })
    )
    .catch(erro => console.log(erro));
}

});

Pode ser algo que não estou visualizando??? Grato.

1 resposta

Boa noite, Rodrigo! Como vai?

Na realidade o correto seria:

fetch(`http://localhost:3000/livros/${livroId}`, { method: 'DELETE' })
        .then(resposta => {                
            let tr = elementoClicado.closest(`#livro_${livroId}`);
            tr.remove();                
        })
       .catch(erro => console.log(erro));

Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!