【发布时间】:2015-06-21 15:36:24
【问题描述】:
我正在为我的工作场所编写一些遗留代码,但无法弄清楚如何处理返回的数据对象中的数据。 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;)来处理它。我在哪里错了?
注意 - 我无法修改此旧代码。我需要处理“theObject”。
【问题讨论】:
-
你是如何传递这个的?
-
我把它作为参数传递给我的回调
-
似乎您提供了一个不正确的示例:您使用
myObj.getThisData作为构造函数,但在您看来myObj不是这个属性,而且您只有本地对象getThisData
标签: javascript object-oriented-analysis