1
resposta

Por que o método delete não recebe .then no escopo da função?

Nas funções responsáveis pelas requisições de puxar a lista de clientes e adicionar um novo cliente utilizamos os métodos ‘GET’ e ‘POST’. Se entendi direito, fizemos um .then() dentro do bloco dessas funções, para receber a resposta de cada requisição. Mas para o método ‘DELETE’, da função que faz a requisição para remover cliente, não foi necessário receber essa resposta. Não ficou muito claro pra mim o porquê não precisamos ter um return desta requisição, alguém poderia me ajudar com essa dúvida? Trecho do código referente a minha dúvida:

const listaClientes = () => {
    return fetch(`http://localhost:3000/profile`)
    .then(resposta => {
        return resposta.json()
    })
}

const criaCliente = (nome, email) => {
    return fetch(`http://localhost:3000/profile`, {
        method: 'POST',
        headers: {
            'Content-Type' : 'application/json'
        },
        body: JSON.stringify({
            nome: nome,
            email: email
        })
    })
    .then( resposta => {
        return resposta.body
    })
}

const removeCliente = (id) => {
    return fetch(`http://localhost:3000/profile/${id}`, {
        method: 'DELETE'
    }) 
}
1 resposta

Olá Juliana, tudo bem?

Peço desculpas pela demora em obter um retorno.

O método DELETE é utilizado para deletar um recurso, nesse caso um cliente, do servidor. Ele não retorna uma resposta no corpo da requisição, apenas um status de sucesso ou falha. Por isso, não é necessário utilizar o .then() para receber uma resposta.

No entanto, é importante lembrar que mesmo que não haja uma resposta no corpo da requisição, é necessário tratar possíveis erros que possam ocorrer durante a requisição. Para isso, é possível utilizar o .catch() para tratar erros de rede ou outras falhas que possam ocorrer.

Espero ter ajudado a esclarecer sua dúvida! Se tiver mais alguma pergunta, fique à vontade para perguntar.

Bons estudos!

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