Показать сообщение отдельно
  #4 (permalink)  
Старый 07.05.2012, 20:50
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

создаёте замыкание:
(function(){
    // код
})();

там размещаете две переменные, в которых будет храниться результат, и где-нибудь на внешней стороне функцию, которая будет обрабатывать два пришедших результата:
// считаем\выводим\ делаем что хотим с двумя пришедшими результатами
var count = function(goog, ya){
    var average = ((goog + ya) / 2).toFixed(3);
    alert(average);
};

(function(callback){
    var goog, ya; // пришедшие результаты

   goog.onLoad(function(request){ // <--- обработчик пришедшего результата для гугла
        goog = request.data;   // запоминаем значение
        if(ya){ // и от яндекса уже пришел результат
               callback(goog, ya);
        }
   });

    YMaps.addEventListener("load", function(e){ // <--- обработчик результата от яндекса
             ya = e.result; // запоминаем в переменной.
             if(goog){ // от гугла уже пришел результат
                  callback(goog, ya);
             }
    });
})( count ); // <--- сюда передаёте её как аргумент.
Ответить с цитированием