Boa tarde.
Tenho tido o mesmo problema que a Ana do comentário anterior, a principio achei que fosse o PreventDefaut() que tinha sido executado errado, mas não era.
Por orientações dos comentários anteriores também verifiquei o meu back-end afim de verificar se houve algum erro, mas tanto a fonte quanto a execução ao me ver estavam corretos:
.
Notei que no Devtools, aparecia uma mensagem bem rápidas sobre as promesis, então fiquei no caminho de que tinha algo errado com a forma do qual minha Async foi executada. Creio que os meus códigos tanto de import quanto de interação estejam certos. Vou deixar eles afim de análise para resolução.
const api = {
async buscarPensamentos() {
try {
const response = await fetch('http://localhost:3000/pensamentos')
return await response.json()
} catch (error) {
alert('Erro ao buscar pensamentos')
throw error
}
},
async salvarPensamento(pensamento) {
try {
const response = await fetch('http://localhost:3000/pensamentos', {
method:"POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify(pensamento)
})
return await response.json()
} catch (error) {
alert('Erro ao buscar pensamentos')
throw error
}
}
}
export default api;
import ui from "./ui.js";
import api from "./api.js";
async function manipularSubimissaoFormulario(event) {
event.preventDefaut()
const id = document.getElementById('pensamento-id').value
const conteudo = document.getElementById('pensamento-conteudo').value
const autoria = document.getElementById('pensamento-autoria').value
try {
await api.salvarPensamento({ conteudo, autoria })
await ui.renderizaPensamentos()
} catch (error) {
alert('Erros ao salvar pensamentos')
}
}
document.addEventListener('DOMContentLoaded', () => {
ui.renderizaPensamentos()
const formularioPensamento = document.getElementById('pensamento-form')
formularioPensamento.addEventListener("submit", manipularSubimissaoFormulario)
console.log
})
import api from './api.js'
const ui ={
async renderizaPensamentos () {
const listaPensamentos = document.getElementById('lista-pensamentos')
try {
const pensamentos = await api.buscarPensamentos()
pensamentos.forEach(ui.adcioncionarPensamentosNaLista)
} catch (error) {
alert('Erro ao renderizar pensamentos.')
}
},
adcioncionarPensamentosNaLista(pensamento) {
const listaPensamentos = document.getElementById('lista-pensamentos')
const li = document.createElement('li')
li.setAttribute('data-id', pensamento.id)
li.classList.add('li-pensamento')
const iconeAspas = document.createElement('img')
//iconeAspas.setAttribute('src', 'assets/imagens/aspas-azuis.png')
//iconeAspas.classList.add('icone-aspas')
iconeAspas.src = "assets/imagens/aspas-azuis.png"
iconeAspas.classList.add('icone-aspas')
const pensamentoConteudo = document.createElement('div')
pensamentoConteudo.textContent = pensamento.conteudo
pensamentoConteudo.classList.add('pensamento-conteudo')
const pensamentoAutoria = document.createElement('div')
pensamentoAutoria.textContent = pensamento.autoria
pensamentoAutoria.classList.add('pensamento-autoria')
li.append(iconeAspas)
li.append(pensamentoConteudo)
li.append(pensamentoAutoria)
listaPensamentos.append(li)
}
}
export default ui;