Показать сообщение отдельно
  #2 (permalink)  
Старый 12.12.2011, 23:56
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

до конца по этому куску я не в ехал в смысл.
но из того что понял могу предложить следующее.

1) doSomthing - можно бы разместить в замыкании,
в этом же замыкании вы могли бы хранить любую нужную вам информацию.

А вообще у вас адовый код, сто пудово можно проще )))

2) Можно по копать ещё в этом направлении.
Код в качестве примера идеи. Не уверен что он на 100% рабочий, но суть задумки думаю поймёте.

function doSomthing() {
  var ajx = $.ajax(.....);

  // прототип пользовательского обработчика
  ajx.edr=function(d){};
  // метод устанавливающий пользовательский обработчик
  ajx.dataReady=function(f){
    ajx.edr=f;
  }

  // обработчик ajax (если я правильно понял :) )
  ajx.done(function{
     var data = calcAndTransformSomeData();
     // вызываем пользовательский обработчик
     ajx.edr(data);   
  });
  return ajx;
};

var job = doSomthing().dataReady( function(data){
  //здесь data нам передадут в качестве параметра, и с его получением заворачиваться не надо.
  // кроме прочего, метод в dataReady гарантированно будет вызван после calcAndTransformSomeData, а не до него. Что упрощает жизнь !!
  alert(data);
  console.log(data);
});
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 13.12.2011 в 00:20.
Ответить с цитированием