Saludos.
Es mi primera incursión con las promesas y después de tantas horas "prometo no prometer nada" porque vaya lío. :)
Quiero imprimir consecutivamente en la consola 3 veces del 0 al 5 y del 0a al 5a. Es decir: 012345-0a1a2a3a4a5a y 012345-0a1a2a3a4a5a y 012345-0a1a2a3a4a5a.
He conseguido que imprima el bloque completo sin que los dos bluces se superpongan mediante este código:
Código:
(async function loop(){
for(var i=0; i < 6; i++){
await new Promise(function(resolve){
setTimeout(function(){
resolve();
}, 500);
console.log(i);
});
}
})().then(function(){
(async function loop(){
for(var i=0; i < 6; i++){
await new Promise(function(resolve){
setTimeout(function(){
resolve();
}, 500);
console.log(i+'a');
});
}
})();
Se imprime 012345-0a1a2a3a4a5a.
Ahora quiero que lo haga 3 veces con este código:
Código:
(async function loop(){
for(var x=0;x<3;x++){
await new Promise(function(resolve){
setTimeout(function(){
//resolve();
}, 500);
console.log('x=' +x);
(async function loop(){
for(var i=0; i < 6; i++){
await new Promise(function(resolve){
setTimeout(function(){
resolve();
}, 500);
console.log(i);
});
}
})().then(function(){
(async function loop(){
for(var i=0; i < 6; i++){
await new Promise(function(resolve){
setTimeout(function(){
resolve();
}, 500);
console.log(i + 'a');
});
}
})();
});
//resolve();
});
}
})();
Como podéis ver en rojo no sé dónde poner el resolve de la primera promesa.
Aunque puede ser que no sea ese el problema. Ya estoy perdido.
Gracias por adelantado.