-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path11.js
More file actions
105 lines (79 loc) · 2.13 KB
/
11.js
File metadata and controls
105 lines (79 loc) · 2.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
function salud() {
return "hola";
}
console.log(salud());
// async function
async function saludAsync() {
return "hola async";
}
console.log(await saludAsync()); // Promise.resolve(valor);
// ANTES PROMESAS
function obtenerUsuario(id) {
return fetch(`https://api.escuelajs.co/api/v1/users/${id}`)
.then(res => {
if (!res.ok) throw new Error(`HTTP ${res.status}`);
return res.json();
});
}
// AHORA ASYNC/AWAIT
async function obtenerUsuarioAsync(id) {
const res = await fetch(`https://api.escuelajs.co/api/v1/users/${id}`);
if (!res.ok) throw new Error(`HTTP ${res.status}`);
return res.json();
}
const usario = await obtenerUsuarioAsync(2);
console.log(usario.name);
// mini ejemplo
fetch("/api/user")
.then(res => res.json())
.then(data => console.log(data));
// async/await
const res = await fetch("/api/user");
const data = await res.json();
console.log(data);
// async en distintas formas de función
// Declaración de función
async function cargar () {/*codigo*/}
// Expresión de función
const cargar = async function() {/*codigo*/}
// Arrow function
const cargar = async () => {/*codigo*/}
// Método de clase
class ServicioUsuarios {
async obtener() {/*codigo*/}
}
// RETO: usar la siguiente API para obtener datos de usuarios y utilizar las cuatro primeras formas de función
// fetch https://jsonplaceholder.typicode.com/users/
// Respuesta:
const URL = "https://jsonplaceholder.typicode.com/users/";
// Declaración de función
async function cargar() {
const res = await fetch(URL);
const data = await res.json();
console.log("Declaración:", data);
}
// Expresión de función
const cargar2 = async function() {
const res = await fetch(URL);
const data = await res.json();
console.log("Expresión:", data);
}
// Arrow function
const cargar3 = async () => {
const res = await fetch(URL);
const data = await res.json();
console.log("Arrow:", data);
}
// Método de objeto
const apiObjeto = {
async obtener() {
const res = await fetch(URL);
const data = await res.json();
console.log("Objeto:", data);
}
}
// Llamadas
cargar();
cargar2();
cargar3();
api.obtener();