il settimeout si esegue una volta sola. Se i dati non esistono quando il settimeout è eseguito, ricade nel solito problema. A quel punto deve fare un altro settimeout, e cosa è a tal punto una sequenza di settimeout se non che un setInterval unico? Cioè, setInterval nasce in javascript in un secondo momento (o quantomeno i testi iniziarono a riportarlo in un secondo momento) proprio per dare la possibilità di effettuare settimeout _ricorsivi_ impuiegando un metodo nativo.Originariamente inviato da fcaldera
fai dei settimeout finché la variabile ha il valore che ti aspetti, poi continui l'esecuzione
oppure usi i deferred object di jquery per controllare lo stato delle esecuzioni asincrone
Dovrebbe specificare meglio che tipo di problema incontea, perchè in realtà il codice che ha postato va bene: il setInterval parte e controlla ogni x tempo che la variabile controlla sia == 1, e finchè non lo è non esegue il codice fra graffe.
Insomma, non si capisce bene perchè questa cosa non lo soddisfi: o non abbiamo abbastanza dati riguardo al problema che incontra (che forse è in realtà di natura diversa da come se lo rappresenta adesso), o la funzione funzione_lunghissima non ha un return 1 per cui non gli esegue mai il codice del setInterval - boh non so, non si capisce bene.