Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 3 odgovora
  • 2.045 pregleda

Najnovija ↓

Pomoć oko http statusa 01.05.2011. u 10:58 · pre 188 meseci #1
Ima li neko ideju kako da rešim problem sa funkciom onLoad, upitanju je sledeći primer:

Code:
var xmlGame:XML = new XML();
//---------------------AS2
    xmlGame.ignoreWhite = true;
    xmlGame.onLoad = function(success:Boolean) {
        if (success){
        trace("connection success");
                runGame();
        } else {
        trace("connection error");
        }
     };
serverLoad.sendAndLoad(gameURL+time,xmlGame,"POST");


Problem je kada je zagušena konekcija, dešava se da se server odazove za nekoliko sekundi, kada nema neta stvar je jasna, ne može da se izvrši. Kako bih mogao da prekinem ovu funkciju onLoad ako nema odziva servera 2 sekunde, te bih tako mogao da kontrolišem konekciju, mada se zagušenja ne dešavaju često ali bih voleo i kada se dese da ne dozvolim da se učitavanje sa servera čeka po nekoliko sekundi već da prekinem funkciju odmah posle dve sekunde,

Unepred hvala
Potpis
Zoran
Re: Pomoć oko http statusa 02.05.2011. u 00:02 · pre 188 meseci
izmenjeno 1 put, poslednji put MenOfHonor 02.05.2011. u 00:31
  1. MenOfHonor02.05.2011. u 00:31zapis iz teksta poruke
#2
Možeš koristiti setInterval() funkciju koja prihvata 3 parametra: naziv funkcije koja će se pozvati, dužinu trajanja izraženu u milisekundama i parametre koji se mogu proslediti pozvanoj funkciji. Na primer možeš navedeni kod staviti u jednu funkciju koju ćeš pozivati, navesti dužinu trajanja od 1000 ms, a sve to možeš smestiti u jednu promenljivu koju ćeš posle proslediti clearInterval() funkciji:
Code:
var sekunde:Number = 0;
var interval:Number;

function mojaFunkcija() {
    xmlGame.onLoad = function(success:Boolean) {
        if (sekunde < 2) {
            if (success) {
                trace("connection success");
                runGame();
                clearInterval(interval); // ukoliko je konekcija uspostavljena prestajemo da pozivamo setInterval() funkciju
                                return false; // izlazimo iz funkcije
            }
            else {
                sekunde++;
            }
        } 
        else {
            trace("connection error");
            clearInterval(interval); // kada prodje 2 sekunde prestajemo da pozivamo setInterval() funkciju
            return false; // izlazimo iz funkcije
        }
    };
}

interval = setInterval(mojaFunkcija, 1000); // pozivamo funkciju setInterval() i smeštamo je u promenljivu interval
Potpis
Pogledajte odličnu knjigu ActionScript 3.0: Visual QuickStart Guide na Safari Books Online unošenjem kupon koda TPJVJGA: https://ssl.safaribooksonline.com/safarienabled
Obavezno pogledati besplatan tutorijal "Installing Apache, MySQL, and PHP" na lynda.com: http://www.lynda.com/MySQL-5-t...che-mysql-and-php/77958-2.html
Re: Pomoć oko http statusa 02.05.2011. u 12:27 · pre 188 meseci #4
To je još jednostavnije. U slučaju korišćenja setTimeout() funkcije kod bi izgledao ovako:
Code:
xmlGame.onLoad = function(success:Boolean) {
    var timeout:Number = setTimeout(mojaFunkcija, 2000); // nakon 2 sekunde pozivamo funkciju mojaFunkcija()
    if (success) {
        trace("connection success");
        clearTimeout(timeout); // ukoliko je uspostavljena konekcija isključićemo tajmer
        runGame();
    }
}

function mojaFunkcija() {
    trace("connection error");
}
Potpis
Pogledajte odličnu knjigu ActionScript 3.0: Visual QuickStart Guide na Safari Books Online unošenjem kupon koda TPJVJGA: https://ssl.safaribooksonline.com/safarienabled
Obavezno pogledati besplatan tutorijal "Installing Apache, MySQL, and PHP" na lynda.com: http://www.lynda.com/MySQL-5-t...che-mysql-and-php/77958-2.html
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme