2015-06-21 3 views
0

Я работаю над некоторым устаревшим кодом для своего рабочего места и не могу понять, как обрабатывать данные из возвращаемого объекта данных. Функция retrieveThis предполагается получить данные объекта:Как извлечь данные с этого объекта?

myObj.retrieveThis(new myObj.getThisData({num : 10, page : 1, sorting : "stampDescending"}), function() {myCallback(this);}); 
var myObj = function() { 
    var getThisData = { 
     // this function populates an array and returns it to the retrieveThis function 
    } 
    var theObject = { 
     retrieveThis: function(a, b) { 
      var OBJ = {}; 
      // OBJ is populated by the data from var getThisData...I checked 
      setTimeout(function() { 
       b(OBJ); 
      }, 1000); 
     } 
    } 
    return theObject; 
})(); 

У меня возникли проблемы с получением данных («theObject») к моей функции обратного вызова (или вообще). Я прохожу this к myCallback(), где myCallback является:

function myCallback(obj) { 
    alert(Object.keys(obj)); 
} 

Оповещение окно показывает список ключей, включая document, jQuery и myObj. Похоже, данные OBJ заселены из массива allTheData, но я не могу передать это назад (как return theObject;) для его обработки. Где я здесь не так?

Примечание. Я не могу изменить этот устаревший код. Мне нужно обработать «объект».

+0

как вам передать _this_? – Grundy

+0

Я передаю это как аргумент для моего обратного вызова –

+0

Кажется, вы предоставляете неверный образец: вы используете 'myObj.getThisData' как функцию конструктора, но, похоже, в вас' myObj' не это свойство, а также у вас есть только локальный объект ' getThisData' – Grundy

ответ

2

Вы передаете неправильную функцию обратного вызова

внутри вы называете его с параметрами, так что вы должны определить его параметры

myObj.retrieveThis(
    new myObj.getThisData({num : 10, page : 1, sorting : "stampDescending"}), 
    myCallback); 

в этом случае в первых парах до myCallback прошедших OBJ объекта

+0

Да, это было сделано. Лучший ответ –

+0

Я думал, что могу передать это как аргумент в моем обратном вызове –

+0

в вашем случае - _this_ ссылается на глобальный объект _window_ – Grundy

Смежные вопросы