Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

104
Vistas
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 la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda