我正在创建一个类似于模型的类,在初始化时会触发一个AJAX请求。我想将该请求的响应存储为新对象的属性,以便我可以使用它返回的数据。问题是,'这个' promise(.done)中的是XHR对象,而不是对象。
我怎么想这个错误?
function TweetData() {
this.tweetList = [];
var data = $.getJSON('data/tweets.json');
data.done(function(data){
for (var i = 0; i < data.length; i++) {
var obj = data[i];
this.tweetList.push(obj.text);
}
});
} //end constructor
答案 0 :(得分:2)
function TweetData() {
this.tweetList = [];
var tweet=this;
var data = $.getJSON('data/tweets.json');
data.done(function(data){
for (var i = 0; i < data.length; i++) {
var obj = data[i];
// 'tweet' is created outside of the callback
// and is then passed into the data.done promise
tweet.tweetList.push(obj.text);
}
});
} //end constructor