PDA

View Full Version : [Javascript]Attendere un "ready"


MEMon
06-01-2007, 12:32
Sono alle prese con un problemuccio diciamo "tecnico".
ho una funziona(chiamiamola A) che viene eseguita con una chiamata indirette, ossia viene eseguita da un evento, e il tempo che impega per essere eseguita non è definito.
Poi ho un' altra funzione(chiamiamola B) che aspetta un dato molto importante dalla funzione di cui sopra, ma essa viene eseguita in un altro momento.
Ecco io vorrei che se la funzione A() non ha finito il suo processo, la funzione B() ne aspetti la fine, come posso fare?
Quello che intendo è una cosa del genere(ideal ovviamente):


function A(){
//esegue della roba
//ready=true;
}

function B(){
//utilizza un dato proveniente da A();
}

A();
ready=false;
while(!ready){};
B();


Ecco come potrei fare? Deve proprio essereci un blocco, non posso permettere che il programma proceda, in quanto il dato elebaroato da A() è per così dire "vitale".

andbin
06-01-2007, 12:50
function A(){
//esegue della roba
//ready=true;
}

function B(){
//utilizza un dato proveniente da A();
}

A();
ready=false;
while(!ready){};
B();
Per quel che ne so io, l'implementazione di Javascript nei browser è "single-threaded". Vuol dire, in breve, che se fai il loop while(!ready){}; blocchi tutto quanto. :D

MEMon
06-01-2007, 12:51
sisi lo so per quello non vabe la mia soluzione, era per far capire quello che intendevo!