Esiste un sistema per fermare un ciclo While o For e farlo ricominciare dopo un lasso di tempo definito? tipo un statment "wait" o qualcosa del genere, o magari una funzione definita da me, solo che non so come impostarla...
Esiste un sistema per fermare un ciclo While o For e farlo ricominciare dopo un lasso di tempo definito? tipo un statment "wait" o qualcosa del genere, o magari una funzione definita da me, solo che non so come impostarla...
La butto lì..
Non si può nidificare l'azione setInteerval()??
Ovvero far contare il tempo ed assegnarlo ad una variabile.
Poi creare un'azione con condizione che dica:
Se il tempo trascorso è inferiore a X allora while(etc etc), se invece il tempo è maggiore o uguale a Y stopa la function while....
nono, il problema è che io devo bloccarla mentre il ciclo è in corso, non tra un ciclo ed un altro.
in pratica devo trovare il modo per far durare l'esecuzione di una funzione esattamente il tempo che mi serve, mentre con setInterval posso solo decidere quanto tempo passa fra una iterazione e la successiva...
Ma un momento...
Con set interval puoi far aumetare di valore una variabile che funzioni da contatempo.
Esempio:
contatempo=0;
function pippo(){
contatempo+=1;
if(contatempo<10){
//esegui le azioni;
}else{
//ferma le azioni;
}
setInterval(pippo,1000);
Mi spiego meglio:
ho un ciclio while:
voglio fare in modo che il ciclo si fermi per x millisecondi nel punto in cui c'è la freccia, e poi ricominci da lì.codice:while (i<mio_array.length){ //istruzioni 1 <----------------- //istruzioni 2 i++ }
io avevo pensato di fare così:
e inserire wait(ms) dove ho messo la freccia. in questo modo teoricamente wait fa partire il timer e quando scade il tempo la funzione "attesa()" elimina il timer, ma questo escamotage non funziona perchè il ciclo while sembra comunque continuare mentre wait è in esecuzione. sbaglio qualcosa? cambio metodo?codice:function Wait(ms){ id=setInterval(attesa,ms) } function attesa(){ clearInterval(id) }
Puoi dare l'azione break al ciclo che lo fa uscire....però poi non so se riparte....
Ma non hai modo di ottenere questo risultato senza usare il metodo while o for ma controllando il tutto tramite delle variabili???
no, decisamente no, dovrei rivoluzionare tutto il programma...