Callback Example
by Porfirio Chavez
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/async/2.5.0/async.min.js"></script>
<div id="log">
</div>
JavaScript
function comprarTicket(personas, callback){
personas.forEach(function(persona){
setTimeout(function(){
if(Math.random() >= 0.5){ //Simular albedrio
irASanitario(persona, callback);
} else {
callback(persona);
}
}, 1000 * Math.random()); //Simular tiempo de decisión
})
}
function irASanitario(persona, callback){
log(persona + ' entró al baño')
setTimeout(function(){
callback(persona);
}, 3000 * Math.random()) //Simular tiempo en el baño
}
function entrarAlCine(name){
log(name + ' entró al cine')
}
comprarTicket(['Juan', 'Alfonso', 'Roberto', 'Julio', 'Ignacio'], entrarAlCine);
/*** UTILS **/
function log(text){
document.getElementById("log").innerHTML += text + '<br>'
}