Я работаю над некоторым устаревшим кодом для своего рабочего места и не могу понять, как обрабатывать данные из возвращаемого объекта данных. Функция 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;) для его обработки. Где я здесь не так?
Примечание. Я не могу изменить этот устаревший код. Мне нужно обработать «объект».
как вам передать _this_? – Grundy
Я передаю это как аргумент для моего обратного вызова –
Кажется, вы предоставляете неверный образец: вы используете 'myObj.getThisData' как функцию конструктора, но, похоже, в вас' myObj' не это свойство, а также у вас есть только локальный объект ' getThisData' – Grundy