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:
Se imprime 012345-0a1a2a3a4a5a.(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'); }); } })();
Ahora quiero que lo haga 3 veces con este código:
Código:
Como podéis ver en rojo no sé dónde poner el resolve de la primera promesa.(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(); }); } })();
Aunque puede ser que no sea ese el problema. Ya estoy perdido.
Gracias por adelantado.