Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Problemas com erro ao salvar, editar e excluir elementos após inclusão da função data

Boa tarde.
Identifiquei um problema na execução do código no qual resulta em erro em todas as outras funções.
Não sei os certo o que é mas imagino que seja algo relacionado a implementação dos códigos de data.
Meu GitHub com os códigos em questão: https://github.com/LuanJesus1/3782-javascript-projeto-base

1 resposta
solução!

Olá, Luan, como vai?

O erro que eu encontrei está relacionado à estrutura do try..catch fora da função manipularSubmissaoFormulario. Em JavaScript, não é possível usar await fora de uma função async, e o seu try..catch está solto, fora do escopo da função onde os awaits estão sendo utilizados.

O correto seria encapsular o bloco try..catch dentro da função manipularSubmissaoFormulario. Dessa forma, tanto o await quanto o tratamento de erro funcionarão como esperado. Por exemplo:

async function manipularSubmissaoFormulario(event) {
  event.preventDefault();

  const id = document.getElementById("pensamento-id").value;
  const conteudo = document.getElementById("pensamento-conteudo").value;
  const autoria = document.getElementById("pensamento-autoria").value;
  const data = document.getElementById("pensamento-data").value;

  if (!validarData(data)) {
    alert("Data inválida. Favor, não inserir datas futuras.");
    return;
  }

  try {
    if (id) {
      await api.editarPensamento({ id, conteudo, autoria, data });
    } else {
      await api.salvarPensamento({ conteudo, autoria, data });
    }

    ui.renderizarPensamentos();
  } catch (erro) {
    alert("Erro ao salvar pensamento");
  }
}

Espero ter ajudado.

Siga firme nos seus estudos e conte com o fórum sempre que precisar.

Abraços :)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado