Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

IF e tratar erro

Esse if é necessário ?

if(res.message === 'deleted') {
          this.setState({autores: [...autoresAtualizado]});
          PopUp.exibeMensagem('error', "Autor removido com sucesso");
        }

Vc não verifica no trata erro se há resposta deu ok?

TrataErros: res =>{
    if(!res.ok){
        throw Error(res.responseText);
    }
    return res.json();
}

o res.ok pode ser ok e o res.message pode ser outro que não "deleted" se sim não seria necessário implementar algum comportamento caso a mensagem do res.message não seja a esperada?

Exemplo:

if(res.message === 'deleted') {
          this.setState({autores: [...autoresAtualizado]});
          PopUp.exibeMensagem('error', "Autor removido com sucesso");
        }else{
        //comportamento se retornar outra mensagem
    }

????

1 resposta

Fala ai Italo, tudo bem? Vamos lá:

Vc não verifica no trata erro se há resposta deu ok?

Na verdade esse res.message é um retorno da API e não tem muito haver se deu certo ou não a requisição.

No caso quando um autor é deletado o corpo de resposta vem um objeto com a propriedade message e seu valor deleted.

Isso porque quando ele faz return res.json() será retornado uma nova Promise cujo valor do then será o corpo de resposta da requisição.

Então se a requisição retornar:

{ message: 'deleted' }

O seu res será um objeto que dentro dele tem a propriedade message (como é feito na aula).

Espero ter ajudado.