¿Explica el siguiente código JavaScript?
Dificultad: Avanzado
const fetchData = (url) => {
return fetch(url)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.log(err))
}
fetchData("https://jsonplaceholder.typicode.com/users")
¿Cuál de las siguientes opciones es equivalente a fetchData?
A.
const fetchDataA = (url) => {
try{
const res = fetch(url);
const data = res.json();
console.log(data);
}catch(err){
console.log(err)
}
}
fetchDataA("https://jsonplaceholder.typicode.com/users")
B.
const fetchDataB = async(url) => {
try{
const res = await fetch(url);
const data = await res.json();
console.log(data);
}catch(err){
console.log(err)
}
}
fetchDataB("https://jsonplaceholder.typicode.com/users")
C.
const fetchDataC = (url) => {
try{
const res = await fetch(url);
const data = await res.json();
console.log(data);
}catch(err){
console.log(err)
}
}
fetchDataC("https://jsonplaceholder.typicode.com/users")
D. Ninguna de las anteriores.
Respuesta en el primer comentario.
Top comments (1)
Respuesta:
B.
Puntos a considerar al momento de usar funciones asíncronas con sintaxis
async await:async awaitsiempre regresa una promesa.awaitdentro de una funciónasync.nvecesawaitdentro de una funciónasync.No es posible resolver problemas asíncronos con código síncrono como en
fetchDataA.Recuerda que
async awaitsolo es una manera mas sencilla de escribir código asíncrono, el uso de esta sintaxis es preferencia de cada desarrollador pero usualmente es muy aconsejable usar funciones escritas de esta manera.Finalmente, no siempre funciones
async awaitson mejores en todos los casos, por ejemplo si queremos usar promesas en paralelo es mucho mejor usar directamente el objetoPromisecon sus métodos como por ejemploPromise.all, etc.