// VAMOS A BUSCAR UN JSON
// parte 1: Un nuevo Callback
$.ajax({
url: '//jsbin.com/cinuna/6.json',
dataType: 'json',
success: function(response){
var json = response;
/* Nos devuelve el siguiente json
{ tweets:
user: "LaViejaDeLaEsquina.com",
[
"//jsbin.com/cinuna/4.json",
"//jsbin.com/cinuna/5.json"
]
}
*/
// VAMOS A BUSCAR UN JSON
// parte 2: El Callback contraataca
$.ajax({
url: json.tweets[0], // "//jsbin.com/cinuna/4.json"
dataType: 'json',
success: function(response){
var tweet1 = response;
// Nos devuelve el siguiente json
/* {body: "#MasterChefMenudeReyes Charquicán
(pero ÉSE Charquicán, con longaniza ¡con TODO!)"} */
// VAMOS A BUSCAR UN JSON
// parte 3: El retorno del Callback
$.ajax({
url: json.tweets[1], // "//jsbin.com/cinuna/5.json"
dataType: 'json',
success: function(response){
var tweet2 = response;
// Nos devuelve el siguiente json
/* {body: "A todo esto? En qué pasillo del Unimarc
encuentro jabalí? #MasterChefMenuDeReyes"} */
// Aqui esta el código que nos importa... ¬_¬
console.log(tweet1,tweet2);
// ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
},
error: function(err){ console.log(err); }
});
},
error: function(err){ console.log(err); }
});
},
error: function(err){ console.log(err); }
});
$.ajax({
url: '//jsbin.com/cinuna/6.json',
dataType: 'json',
success: function(response){
var json = response;
$.ajax({
url: json.tweets[0], // "//jsbin.com/cinuna/4.json"
dataType: 'json',
success: function(response){
var tweet1 = response;
$.ajax({
url: json.tweets[1],
dataType: 'json',
success: function(response){
var tweet2 = response;
console.log(tweet1,tweet2);
},
error: function(err){ console.log(err); }
});
},
error: function(err){ console.log(err); }
});
},
error: function(err){ console.log(err); }
});
Sync | Async | |
---|---|---|
function | T | Promise |
function* | Iterator | ??? |
La pregunta es: "que nos devuelve un generador asincrono?"