Olá Humanos,
Enquanto assistia a aula que implementávamos get
, me surgiu uma dúvida, e aqui estou, porque a dúvida surgiu novamente agora que estamos implementando o post
.
Eu até tentei implementar minha solução enquanto fazia o exercício que o Flávio propôs ( para implementarmos o post
), mas eu vi que não funcionou. Mesmo as duas condições estando true
, ele executou o else
que seria o cenário false
.
Basicamente eu gostaria de saber por qual motivo o código quebra se implementamos duas condições dentro do if
, ao invés de dois ifs
.
DEU CERTO
get(url){
return new Promise((resolve, reject) => {
let xhr = new XMLHttpRequest();
xhr.open('GET', url);
xhr.onreadystatechange = () => {
if(xhr.readyState == 4) {
if(xhr.status == 200) {
resolve(JSON.parse(xhr.responseText))
} else {
reject(xhr.responseText);
}
}
};
xhr.send();
});
}
DEU ERRADO
get(url){
return new Promise((resolve, reject) => {
let xhr = new XMLHttpRequest();
xhr.open('GET', url);
xhr.onreadystatechange = () => {
if(xhr.readyState == 4 && xhr.status == 200) {
resolve(JSON.parse(xhr.responseText))
} else {
reject(xhr.responseText);
}
};
xhr.send();
});
}
A minha dúvida é apenas sobre porquê quando os ifs
estão aninhados fucinona mas quando duas condições estão dentro do mesmo if
quebra. Tem algo com a tabela verdade?
Agradeço desde já.