Beynar
27.12.2007, 20:46:16
jak zatrzymac wykonywanie skryptu na jakis czas??
bo skryp jak sie wykonuje to leci pokolei linijka po linijce i mam zadeklarowana zmienna,
skrypt wywoluje funkcje co wykonuje operacje na tej zmiennej a w kolejnej linijce wywoluje kolejna funkcje ktora tez operuje na tej zmiennej. i teraz wykonujac skrypt ta pierwsza funkcja nadaje zmiennej jakas wartosc, skrypt wywolujac ta funkje zaraz poniej wywoluje ta druga funkcje. i problem jest w tym ze ta pierwsza funkcja nienadaza nadac wartosci amienne zanim wykona sie kolejna funkcja. i jak zrobic zeby ta druga funkcja czekala dopuki ta pierwsza nieskonczy liczyc??
probowalem settimeout(); ale moze sie zdazyc(a nawet sie zdaza) ze funkcja i tak bezie dluzej wykonywana
sniezny_wilk
27.12.2007, 21:13:19
Nie rozumiem dlaczego nie nadąża zmieniać tej zmiennej, skoro operuje na tej samej zmiennej, to linijkę niżej ta zmienna ma inną wartość już. Może podasz kawałek kodu, żebyśmy wiedzieli o czym rozmawiamy ?
Beynar
27.12.2007, 21:25:44
Kod
var zmienna=null;
function wykonaj()
{
nadaj_wartosc();
wyswietl();
}
function nadaj_wartosc()
{
//tutaj funkcja nadaje wartosc zmiennej po wyslaniu zadania do serwera za pomoca AJAKSA
}
function wyswietl()
{
//funkcja wyswietla wartosc zmiennej 'zmienna'
}
i teraz funkcja wyswietl wykona sie zaraz po poprzedniej chociaz ta poprzednia jeszcze nawet nieodebrala odpowiedzi z serwera
sniezny_wilk
27.12.2007, 22:13:37
To funkcję wyświetl() daj po tym jak dostanie odpowiedź od AJAXA
Beynar
27.12.2007, 22:35:36
niebardzo bo odpowiedz od ajaxa dostaje w objekcje a odjekt zwraca mi do zmiennej
obiekto nie zmienie gdyz jest uzywane rowiez do innych celow
sniezny_wilk
27.12.2007, 22:52:18
Masz tam coś takiego w AJAX'ie
http_request.onreadystatechange = function() { alertContents(http_request); };
lub podobne ? i potem
function alertContents(http_request) {
if (http_request.readyState == 4) {
if (http_request.status == 200) {
//masz odpowiedz
} else {
//blad
}
}
}
zaczerpnięte
stąd No i po odpowiedzi zaczynaj wykonywać wszystko po kolei.
Beynar
27.12.2007, 22:53:58
niemam bo kozystam z biblioteki mintAJAX
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.