如何从此对象中提取数据?

How to extract data from this object?

我正在为我的工作场所编写一些遗留代码,无法弄清楚如何处理来自 returned 的数据对象的数据。 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));
}

警告框显示一个键列表,包括 documentjQuerymyObj。看起来来自 OBJ 的数据是从数组 allTheData 填充的,但我似乎无法将其传回(如 return theObject;)来处理它。我哪里错了?

注意 - 我无法修改此遗留代码。我需要处理 "theObject".

你传错了回调函数

里面你是带参数调用的,所以你应该带参数定义它

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

在这种情况下,myCallback 的第一个参数传递给 OBJ 对象