асинхронное программирование

droit74

Постоялец
Регистрация
20 Сен 2009
Сообщения
55
Реакции
0
есть кусок кода
Код:
var t1 = ymaps.geocode("уфа").then(function (res) {
        Coords = res.geoObjects.get(0).geometry.getCoordinates();
});

как мне из внутренний функции вывести Coords
 
Код:
var t1 = ymaps.geocode("уфа").then(function (res) {
Coords = res.geoObjects.get(0).geometry.getCoordinates();
alert(Coords);
});
?
 
нужно чтобы он ее возвращал. что бы за пределами скобок к ней обратиться а не в них
 
Код:
var  mojUnikanayOchenDlinnajaLj1='';
var t1 = ymaps.geocode("уфа").then(function (res) {
Coords = res.geoObjects.get(0).geometry.getCoordinates();
mojUnikanayOchenDlinnajaLj1=Coords;
});
?
 
напишите способ вызова функции и саму функцию
 
Код:
function init(gorod1) {
var Coords;
    var myMap = new ymaps.Map("map", {
            center: [55.745508, 37.435225],
            zoom: 13
    });
//делает декодирование 
    var t1 = ymaps.geocode(gorod1).then(function (res) {
        //возвращает координаты  
        Coords = res.geoObjects.get(0).geometry.getCoordinates();
        //alert (Coords);
        //Coords ее нужно вернуть или есть другой способ?
    });
}

Coords ее нужно вернуть или есть другой способ ей воспользоваться в коде?

и если написать
Код:
var per;
function init(gorod1) {
var Coords;
    var myMap = new ymaps.Map("map", {
            center: [55.745508, 37.435225],
            zoom: 13
    });
    var t1 = ymaps.geocode(gorod1).then(function (res) {
        Coords = res.geoObjects.get(0).geometry.getCoordinates();
       
        per = Coords вот эта переменная
    });
return  per;
}
он ее тоже не возвращает
 
Последнее редактирование модератором:
mcdir дал исчерпывающие ссылки, но можно сделать так(наверное)

Код:
var obj1 = new Object();  

var t1 = ymaps.geocode("уфа").then(function (res) {
Coords = res.geoObjects.get(0).geometry.getCoordinates();
obj1.test = coords;
});


alert(obj1.test); //здесь хранится coords

Естественно чтобы свойство test появилось функция в then() должна выполниться.
 
Код:
$.when(init(эта функция)).then(function(){alert(obj1.test)});
и он все ровно не возвращает значения. сначала алерт делает потом функция. если второй раз ее запускаю то выводит предыдущие значение.
 
Код:
$.when(init(эта функция)).then(function(){alert(obj1.test)});
и он все ровно не возвращает значения. сначала алерт делает потом функция. если второй раз ее запускаю то выводит предыдущие значение.
Все работает, вот пример
Для просмотра ссылки Войди или Зарегистрируйся
 
Назад
Сверху