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