Playground: Captura el error de una petición
Clase 17 de 26 • Curso de Asincronismo con JavaScript
Contenido del curso
Gerson Estuardo Alvarado Hernández
Jesus Castillo
Nicolas Molina
Cristian Soto Repol
Nicolas Molina
Wladimir Rocha
Felipe Toro C
David Muñoz Sáez
Luis Ángel Arvelo Pérez
David Carrillo Castillo
Diego Rivera
Nicolas Molina
Diego Rivera
Pedro Gonzalez
Stiven Andres Medina Lopez
Gilberto Espinoza Maciel
Wladimir Rocha
Esteban Maruri
David Alvarez
Sebastián Andrés Sanhueza Tapia
Eloy Bernardez
Cesar Perez
Miguel Angel Hernandez Colombo
Leonardo Moreno Faberón
Brayan Medina
Carlos López
Aldo Jair Terrones Geminiano
Yeison Xiques
William Villegas
Javier Andrés Álvarez Falquez
La idea de estas pruebas es muy buena, lo que debería de mejorar son las instrucciones y no usar cosas que no se han indicado en el curso como el
throw new Error('API Not Found');
exacto
Hola, ya pusimos esta instrucción como parte de la guía, muchas gracias por la retroalimentación vamos mejorando este formato paso a paso.
No se si aporte algo, pero el ejercicio trata de que dentro de la función runCode hagan el llamado a la api que no se encuentra y capturen el error. por defecto se ejecuta await runCode(), así que hagan todo dentro de este.
Recordar también que pueden utilizar fetch sin el import debido a que estamos en el browser y que los errores se pueden controlar con try/catch.
Que gran aporte y apoyo a tus compañeros!
Excelente analisis, yo estuve a punto de lograrlo
No he podido solucionar estos retos, es increible como al ver la solucion de repente todo es tan fácil. Ni modo a seguir practicando y a leer más código. Si pueden recomendarme proyectos para practicar les voy a agradecer mucho.
Es un asunto de conceptos... de los conceptos que nos faltan...
Exercism aqui practico los conceptos que aprendo de Platzi.
... estos retos, no te dejan en claro lo que tienes que hacer
Creo que el feature esta malo, ya llevo haciendo varias pruebas que estan correctas pero me dice que esta malo. y ni siquiera la solucion me la acepta ;
Creo que fue una "Cascara de banana" 😂😂😂
Mi solucion:
export async function runCode() { // Tu código aquí 👈 const url = 'https://domain-api-com'; try { const data = await fetch(url); const json = await data.json(); return json; } catch (err) { throw new Error('API Not Found') } }
Houston, we have a problem! . Podemos observar que los tests no pasan incluso con la solución dada por el Playground. Equipo Platzi, para que lo chequen
Como vamos no se como realizarlo
haces que runcode ejecute una promesa con un error y lo llamas desde una funcion async
Falto una mejor explicacion en la Guia del ejercicio.
donde mencione que no sirve el console.log()
sino un nuevo comando throw new Error()
no entiendo por qué en el catch solo acepta
catch { throw new Error("API Not Found") }
y no te recibe otras variantes como
catch { console.log('API No Found'); } //o algo así catch (error) { console.error(error); } //otra forma catch (error) { console.error('API No Found'); }
¡Hola Sebastián!
Normalmente puedes ingresar esas variantes para el bloque catch pero en este caso debe fallarte los tests porque estos fueron configurados para recibir el objeto Error("API Not Found")
Por aqui dejo mi respuesta
export async function runCode() { try { const ir = await fetch(url); console.log(ir); } catch (error) { console.error(error); } const url = 'https://domain-api-com'; }
no la pude hacer,!!! I`ll be bakc!!
Por q no comparar con then y con async await
const url = 'https://domain-api-com'; function fetchData(url){ return fetch(url) } fetchData(url).then( response =>{console.log(response)}) .catch( err => console.log(err.msg ) ) async function runCode() { // Tu código aquí 👈 const url = 'https://domain-api-com'; try{ const ok = await fetch(url); console.log(ok); }catch(error){ console.error(error.msg); } } runCode()
les comparto mi Solución
export async function runCode() { // Tu código aquí 👈 const url = 'https://domain-api-com'; const response = await fetch(url); try { console.log(response.json()) } catch { console.log('API No Found'); } }
a alguien mas le pasa o mismo? se queda cargando y no me deja escribir Código
No creo que este bien la idea del problema, ya que es lo mismo si lo dejo asi:
export async function runCode() { // Tu código aquí 👈 const url = 'https://domain-api-com'; throw new Error('API Not Found'); }
creo que hubiera sido mejor usar la api fake para tener 2 resultados, uno que existe y otro que no
Mi solución:
export async function runCode() { try { return await fetch("https://domain-api-com") } catch { throw new Error('API Not Found'); } }
Mi solución:
export async function runCode() { const url = 'https://domain-api-com'; try { const response = await fetch(url); const data = await data.json(); return data; } catch (error) { throw new Error('API Not Found'); } }
:, otra vez vengo con el problema del jest :, esta vez por exceder el limite de tiempo de la prueba :,