Estoy intentando extraer artículos de noticias de un sitio usando buscar y prometer todo. Ejemplo encontrado aquí
Aquí está el código que estoy usando.
var openArticles = function(urlArray){ Promise.all(urlArray.map(u=>fetch(u))).then(responses => Promise.all(responses.map(res => res.text())) ).then(function(html){ console.log(html[0]) }) };No estoy muy familiarizado con las expresiones de función de flecha y tengo dificultades para agregar el manejo de errores para 500 y errores de tiempo de espera. Intenté poner el código en el bloque try catch pero eso no ayudó, y no estoy seguro de dónde o cómo ingresar la declaración if para verificar el estado de la respuesta. ¿Hay alguna manera de reescribir esto usando el formato de nombre de función estándar ()?
Ok, aquí está la solución por ahora. Lo siento, es una sintaxis fea, estoy seguro de que hay una mejor manera de escribir esto.
Promise.all(urls.map(u=>fetch(u).then((response) =>{ if(response.status != 200){ console.log(response.status); // do something return; } else{ return response; } }))).then(responses => Promise.all(responses.map(res => res.text())) ).then(function(html){ //do something else })Básicamente, había estado agregando la declaración "entonces" en la posición incorrecta. Gracias por la ayuda