-
Notifications
You must be signed in to change notification settings - Fork 0
/
asincronismo.js
63 lines (51 loc) · 1.39 KB
/
asincronismo.js
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
const API_URL = "https://swapi.co/api/"
const PEOPLE_URL = "people/:id"
const PLANETS_URL = "planets/:id"
const STARSHIPS_URL = "starships/:id"
const opts = { crossDomain: true }
const onPeopleResponse = function(person, response){
if (response)
{
console.log(`Hola yo soy ${person.name}`)
}
}
function obtenerPersonaje(id){
return new Promise((resolve, reject) => {
const personajeUrl = `${API_URL}${PEOPLE_URL.replace(':id', id)}`
$
.get(personajeUrl, opts, function(data){
resolve(data)
})
.fail(() => reject(id))
})
}
function onError(id){
console.log(`Sucedió un error al obtener el personaje ${id}`)
}
const cantPersonajes = 15
var ids = []
for (var i=0; i < cantPersonajes; i++){
ids.push(i+1)
}
var promesas = ids.map(id => obtenerPersonaje(id))
Promise
.all(promesas)
.then(personajes => {
for (personaje of personajes){
console.log(`Hola, soy ${personaje.name}`)
}
})
.catch(onError)
/*obtenerPersonaje(1)
.then( personaje => {
console.log(`El personaje 1 ${personaje.name}`)
return obtenerPersonaje(2)
})
.then( personaje => {
console.log(`El personaje 2 ${personaje.name}`)
return obtenerPersonaje(3)
})
.then( personaje => {
console.log(`El personaje 3 ${personaje.name}`)
})
.catch(onError)*/