我對創建的對象創建的方法iive有問題。其中一種方法需要回調到另一種方法。問題是我不能將數據添加到調用該方法的對象。它保持未定義的狀態。否則當我發送數據到控制檯是正確的。我怎樣才能獲得數據回到方法?獲取回調函數以添加到對象javascript
var blogObject = new Object();
var following = [...];
//get posts from those blogs
blogObject.getPosts = function() {
var followersBlogArray = new Array();
for (var i = 0; i < this.following.length;i++){
var followersBlog = new Object();
// get construct blog url
var complete_blog_url = ...;
我在這裏調用getAvatar函數,發送當前用戶在下面的數組上。
followersBlog.avatar = blogObject.getAvatar(this.following[i]);
一部分順利
followersBlogArray.push(followersBlog);
}
this.followersBlogArray = followersBlogArray;
}
這裏是獲取與當前用戶在下面的數組 調用的函數這個函數調用Ajax的功能
blogObject.getAvatar = function (data) {
console.log("get avatar");
var url = "..."
這個AJAX功能呢其工作並具有showAvatar回撥功能
$(function() {
$.ajax({
type: "GET",
dataType: "jsonp",
cache: false,
url: url,
data: {
jsonp:"blogObject.showAvatar"
}
});
});
}
當調用getAvatar時,此函數不會被調用。然而,我不能讓它將數據添加到followersBlog對象。
blogObject.showAvatar = function (avatar) {
return avatar
}
一切都在這裏工作正常,但我不能讓showAvatar功能添加到我的followersBlog對象。我試過
blogObject.showAvatar = function (avatar) {
this.followersBlog.avatar = avatar;
return avatar
}
當然沒有工作。它顯示爲未定義。誰能幫忙?
所以出頭像...
$(function() {
$.ajax({
type: "GET",
dataType: "jsonp",
cache: false,
url: url,
complete: function() {
this.avatar = data;
}
data: {
jsonp:"blogObject.showAvatar"
}
});
});
}
'complete:function(){blah; }」 – cohs