有没有办法在 javascript facebook sdk api 回调中传递上下文?这是一个简单的例子。现在这不起作用,因为我的回调函数中的变量“this.name”将是未定义的,因为它不在我的用户对象上下文中。知道怎么做吗?
function user(id) {
this.id = id;
this.getUserName = function(fields,callback){
FB.api({
method:'fql.query',
query: 'SELECT '+ fields.toString() +' FROM profile WHERE id=' + this.id
},
callback
);
}
this.getUserName(['name'],function(response){this.name = response[0].name;});
}
var amigo = new user('fb_id_here');
闭包是你的朋友。
function user(id) {
this.id = id;
this.getUserName = function(fields,callback){
FB.api({
method:'fql.query',
query: 'SELECT '+ fields.toString() +' FROM profile WHERE id=' + this.id
},
callback
);
}
this.getUserName(['name'],(function(this_user) {
return function(response){this_user.name = response[0].name;}
})(this));
}
var amigo = new user('fb_id_here');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)