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

103
Visualizações
Promise.all fetch continúa ejecutándose después de arrojar un error?

Estoy tratando de obtener datos JSON del sitio de referencia para desarrolladores de WordPress. Necesito buscar una palabra clave sin saber si es una función, clase, enlace o método, que es parte de la URL que necesito buscar. Así que estoy usando Promise.all para recorrer todas las direcciones URL posibles. Funciona si response.status <= 299 , lanzando el error inmediatamente, y si la respuesta está bien, entonces continúa hasta .then . Bien, pero ocasionalmente devolverá un estado correcto si el JSON existe y solo devuelve una matriz vacía. Entonces, necesito verificar si los datos JSON son una matriz vacía, lo que parece que no puedo hacer en la primera parte. Solo puedo comprobar en la segunda parte hasta donde yo sé. Y si tira el error no sigue probando con las otras urls. ¿Alguna sugerencia?

 var keyword = 'AtomParser'; const refs = ['function', 'hook', 'class', 'method']; // Store the promises let promises = []; // Cycle through each type until we find one we're looking for for (let t = 0; t < refs.length; t++) { const url = 'https://developer.wordpress.org/wp-json/wp/v2/wp-parser-' + refs[t] + '?search=' + keyword; // console.log(url); promises.push(fetch(url)); } Promise.all(promises) .then(function(response) { console.log(response[0]); // Get the status console.log('Status code: ' + response[0].status); if (response[0].status <= 299) { // The API call was successful! return response[0].json(); } else { throw new Error('Broken link status code: ' + response[0].status); } }) .then(function(data) { // This is the HTML from our response as a text string console.log(data); // Make sure we have data if (data.length == 0) { throw new Error('Empty Array'); } // ref const reference = data[0]; // Only continue if not null or empty if (reference !== null && reference !== undefined && data.length > 0) { // Success // Return what I want from the reference } }) .catch(function handleError(error) { console.log('Error' + error); });

¿Hay alguna forma de obtener los datos JSON en la primera parte para poder verificar si está en una matriz mientras verifico el estado de la respuesta?

about 4 years ago · Juan Pablo Isaza
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