javascript - 如何从这个对象中提取数据?

标签 javascript object-oriented-analysis

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

关于javascript - 如何从这个对象中提取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30966261/

相关文章:

javascript - 覆盖 "this"变量问题还是如何调用成员函数?

Java 面向对象编程多个类实例

c# - 在基类中声明子类;坏不坏?

当扁平化或包含不必要的过程以简化使用时,Java OO 概念会更好吗?

c# - C++实践类似于C#的只读数据成员行为

oop - 此用例的设计模式

javascript - 使用悬停功能,Jquery 在随机位置生成 div

javascript - 如何在数据表的每一行上添加按钮?

javascript - 延迟 jQuery 下拉菜单

javascript - jquery ajax 请求没有响应