Autor Zpráva
JardaB
Profil
Zdravím, potřeboval bych poradit v řešení následujícího problému.
Mám funkci pro kolo štěstí a výsledkem jejího volání je vrácené nějaké číslo. Potřebuji tuhle funkci vyřešit tak, aby fungovala pro dvě kola štěstí, která lze spustit souběžně. Tedy roztočit jedno kolo a roztočit druhé kolo. Můj problém spočívá v tom, že moje funkce po roztočení druhého kola předefinuje původní hodnoty prvního kola. Poradí někdo, jak se tohle řeší?

function koloStesti(kolo, callback)
 {
  $.getJSON("scripts/ks.php", {kolo: kolo} , function(data){callback(data, kolo);});
 }
 
function zatocit(result, kolo)
 {
  vysledek = result.hodnota; 
 }

chtěl jsem to vyřešit nějak následovně, ale ten zápis je zjevně dost naivní..

function koloStesti(kolo, callback)
 {
  $.getJSON("scripts/ks.php", {klient: kolo} , function(data){callback(data, kolo);});
 }

function zatocit(result[kolo], kolo)
 {
  vysledek[kolo] = result[kolo].hodnota; 
 }
Keeehi
Profil
function zatocit(result, kolo)
 {
  vysledek[kolo] = result.hodnota; 
 }
To použití globálních proměnných je ošklivé. Kdyby to bylo celé zapouzdřené, žádný takový problém by nenastával.
JardaB
Profil
Keeehi:
To vaše řešení jsou zkoušel jako první a teď již vím asi proč mi nefungovalo.
Ve funkci jsem měl ještě následující:

function zatocit(result, kolo)
 {
  vysledek= new Array();
  vysledek[kolo] = result.hodnota; 
 }

kdy při dalším volání funkce se vše v poli smazalo... Ještě že blbost nebolí...

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0