Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

297
Visualizações
Obtenga el código de estado de respuesta http después de response.json()

Me gustaría obtener el código de estado http después de response.json para usarlo en mi lógica más tarde, ¿puedo hacer algo con él?

 function apiRequest(path, options) { fetch("api/" + path, options) .then(response => response.json()) .then(data => { let res = { code: 200 //I want to put http status code here, data: data } return res; }) }
about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Esto es un poco complicado de usar then (como lo está haciendo actualmente) porque desea obtener datos directamente de la respuesta (que es una promesa) y algunos datos más del cuerpo analizado (que es otra promesa).

Entonces puede envolver el estado y la promesa de datos en Promise.all y devolver eso desde el principio:

 const apiRequest = () => { const url = "//swapi.dev/api/planets/1/"; fetch(url) .then((response) => Promise.all([response.status, response.json()])) .then(([status, data]) => console.log({status, data})) }

… pero sería más fácil usar la sintaxis async / await y deshacerse de las devoluciones de llamada y luego solo tiene que preocuparse por una sola función (y, por lo tanto, el alcance) en lugar de múltiples.

 const apiRequest = async () => { const url = "//swapi.dev/api/planets/1/"; const response = await fetch(url); const data = await response.json(); const status = response.status; console.log({status, data}) }
about 4 years ago · Juan Pablo Isaza Relatório

0

Como alternativa, podría considerar async/await . De esa manera, tiene acceso a la response y data al mismo tiempo con mayor facilidad.

 async function apiRequest(path, options) { const response = await fetch("api/" + path, options) const data = await response.json() let res = { code: response.status, data: data } // Do something with res }
about 4 years ago · Juan Pablo Isaza Relatório

0

Prueba esto

 function apiRequest(path, options) { fetch("api/" + path, options) .then(response => Promise.all([Promise.resolve(response.status), response.json()])) .then(([status, data]) => { let res = { code: status //I want to put http status code here, data: data } return res; }) }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda