Hirdetés

Keresés

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

  • trisztan94
    őstag

    például egy boolean property segítségével. Amin most én dolgozom, ott Future-ök vannak, az aszinkron fv callbackje egy ilyen Future objektumot ad vissza amire lehet hívni .then()-t és ebben a callback-ben át lehet billenteni azt a property-t, ugyanis a then csak akkor hajtódik végre, ha az aszinkron kommunikációnak vége. Ez a te esetedben annyit jelent, hogy csinálj valahol egy, az aszinkron kommunikációra nézve globális property-t, majd sikeres response esetén billentsd át az értékét.

    Egyébként javaslom keress rá a js promise-ra. Én még nem dolgoztam vele, de tudtommal jó cucc :)

    Bocsi, hogy csak most válaszolok.

    Végül sikerült megoldani future objektumokkal... vagyis... sort of.

    Ez a végleges megoldás, lehet, hogy gány, de egyelőre működik, bőven elég. Tudok végre haladni.

    $('.form-directions').on('submit', function () {
    waypoints = [];
    promises = [];
    $('.waypoint').each(function () {
    promises.push(geoCode($(this).val()));
    });
    return false;
    });

    function geoCode(address) {
    var deferred = $.Deferred();
    nokia.places.search.manager.findPlaces({
    searchTerm: address,
    onComplete: function (data, requestStatus, requestId) {
    onGeoCodingCompleted(data, requestStatus, requestId);
    deferred.resolve();
    },
    searchCenter: map.center
    });
    return deferred.promise();
    }

    Az onGeoCodingComplete függvényben nem változik semmi, csak ezt az egy plusz sort raktam bele:

    if (waypoints.length == promises.length / 2) {
    drivingDirections();
    }

    Na most azért lett osztva a promises tömb kettővel, mert valamiért minden esetben a waypoints tömb elemeinek számának kétszerese volt benne. Tehát mindent 2x vett.

    Tehát annyi a kérdés, hogy miért van a promises tömbben 2x annyi elem, mint a waypoints tömbben? :F

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