Hirdetés

Keresés

Új hozzászólás Aktív témák

  • a2d2
    addikt

    A javascript esemenyvezerelt aszinkron programnyelv a te esetedben az aszinkronitason van a hangsuly. Ha ezzel a fogalommal most talalakozol eloszor akkor keress ra a neten biztos jo leirasok vannak rola. Roviden tomoren az ajax hivas megszolitja a backendet, kuld egy requestet amire majd valamikor a jovoben jon egy valasz. Na most az talan erzodik, hogy a majd valamikor a jovoben az nem egy tul kezzel foghato valami, nagyon sok mindentol fugg, hogy mikor jon meg a valasz igy a lenyeg, hogy addig nem szabad feltartani a program futasat (nem szabad blokkolni). Ezt javascriptben (is) promiszokkal oldjak meg (promise). Ha ez a fogalom is ismeretlen szamodra akkor keress ra a neten -> (A+ promise). A jquery-nek (gondolom jquery-t hasznalsz ajax implementaciokent) is van egy sajat implementacioja a promisokra ezt hivjuk deferred-nek. Na a jQ ajax metodusai ilyen deferreddel ternek vissza

    pszeudokod:

    var yourVariable;
    var dfd = jquery.ajax(options);
    dfd.then(
    function goodCase(returnVal) {
    yourVariable = returnVal;
    // do smtg with yourVariable here
    },
    function errorCase(err) {
    if (err) {
    console.error(err):
    }
    }
    );

    Szia!

    Na ránéztem a tegnapi alkotásokra és ahogy nézem próbáltam már minden félével (.when, .then, async: false, ...), de nem tudtam sehogy megállítani a főprogramot. Ez egy OL3 program, benne egy google maps-es geokódolással. A JS második fele kellene hogy megkapja a kiszámított koordinátákat:

    JS első fele

    function getLatLng(callback) {
    geocoder.geocode({'address': v_cim},function(results,status){
    if(status == google.maps.GeocoderStatus.OK) {
    v_koord_x = results[0].geometry.location.lat();
    v_koord_y = results[0].geometry.location.lng();
    ajaxvege = true;
    callback(v_koord_x, v_koord_y, ajaxvege);
    }
    });
    }

    getLatLng(function(v_koord_x, v_koord_y, ajaxvege) {
    alert(v_koord_x);
    alert(v_koord_y);
    });

    JS második fele

  • a2d2
    addikt

    A javascript esemenyvezerelt aszinkron programnyelv a te esetedben az aszinkronitason van a hangsuly. Ha ezzel a fogalommal most talalakozol eloszor akkor keress ra a neten biztos jo leirasok vannak rola. Roviden tomoren az ajax hivas megszolitja a backendet, kuld egy requestet amire majd valamikor a jovoben jon egy valasz. Na most az talan erzodik, hogy a majd valamikor a jovoben az nem egy tul kezzel foghato valami, nagyon sok mindentol fugg, hogy mikor jon meg a valasz igy a lenyeg, hogy addig nem szabad feltartani a program futasat (nem szabad blokkolni). Ezt javascriptben (is) promiszokkal oldjak meg (promise). Ha ez a fogalom is ismeretlen szamodra akkor keress ra a neten -> (A+ promise). A jquery-nek (gondolom jquery-t hasznalsz ajax implementaciokent) is van egy sajat implementacioja a promisokra ezt hivjuk deferred-nek. Na a jQ ajax metodusai ilyen deferreddel ternek vissza

    pszeudokod:

    var yourVariable;
    var dfd = jquery.ajax(options);
    dfd.then(
    function goodCase(returnVal) {
    yourVariable = returnVal;
    // do smtg with yourVariable here
    },
    function errorCase(err) {
    if (err) {
    console.error(err):
    }
    }
    );

    Szia!

    Köszi.
    Igen, JQuery-t használok.
    Holnap tudok ránézni mert melóhelyemen van a kód :)

Új hozzászólás Aktív témák