You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 5-network/01-fetch/01-fetch-users/solution.md
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
2
-
Para obtener un usuario tenemos que ejecutar el siguiente código: `fetch('https://api.github.com/users/NOMBREUSUARIO')`.
2
+
Para obtener un usuario tenemos que ejecutar el siguiente código: `fetch('https://api.github.com/users/USERNAME')`.
3
3
4
4
Si la respuesta contiene el status `200`, utilizamos el método `.json()` para leer el objeto JS.
5
5
@@ -8,11 +8,11 @@ Por el contrario, si el `fetch` falla o la respuesta no contiene un status 200,
8
8
Código:
9
9
10
10
```js demo
11
-
asyncfunctionobtenerUsuarios(nombresUsuarios) {
11
+
asyncfunctiongetUsers(names) {
12
12
let jobs = [];
13
13
14
-
for(letnombreofnombresUsuarios) {
15
-
let job =fetch(`https://api.github.com/users/${nombre}`).then(
14
+
for(letnameofnames) {
15
+
let job =fetch(`https://api.github.com/users/${name}`).then(
16
16
successResponse=> {
17
17
if (successResponse.status!=200) {
18
18
returnnull;
@@ -27,14 +27,14 @@ async function obtenerUsuarios(nombresUsuarios) {
27
27
jobs.push(job);
28
28
}
29
29
30
-
letresultados=awaitPromise.all(jobs);
30
+
letresults=awaitPromise.all(jobs);
31
31
32
-
returnresultados;
32
+
returnresults;
33
33
}
34
34
```
35
35
36
36
Nota: la función `.then` está directamente vinculada al `fetch`. Por lo tanto, cuando se obtiene la respuesta se procede a ejecutar la función `.json()` inmediatamente en lugar de esperar a las otras peticiones.
37
37
38
-
Si en su lugar utilizáramos `await Promise.all(nombres.map(nombre => fetch(...)))` y llamamos a la función `.json()` sobre los resultados, entonces esperaríamos a que todos las peticiones fetch completen antes de obtener una respuesta. Al agregar `.json()` directamente en cada `fetch`, nos aseguramos que las peticiones se procesen de manera independiente obteniendo una mejor respuesta en nuestra aplicación.
38
+
Si en su lugar utilizáramos `await Promise.all(names.map(name => fetch(...)))` y llamamos a la función `.json()` sobre los resultados, entonces esperaríamos a que todos las peticiones fetch completen antes de obtener una respuesta. Al agregar `.json()` directamente en cada `fetch`, nos aseguramos que las peticiones se procesen de manera independiente obteniendo una mejor respuesta en nuestra aplicación.
39
39
40
40
Esto es un ejemplo de como la API de Promesas puede ser útil aunque mayormente se utilice `async/await`.
0 commit comments