从FB获取一个值.带有回调的API
Get a value from FB.api with a callback?
我有一个简单的问题,一直在Stack Overflow上搜索,有一些关于这个主题的问题,但不能得到一个有效的解决方案。
我有一个简单的函数,用于在Javascript SDK上获得页面喜欢的数量:
function getLikes(div, graf) {
var numblike;
FB.api(graf, function(response) {
var numblike = response.likes;
$(div).prepend(numblike);
});
return numblike; // can't get it to return
}
var pLike = getLikes ("#mydiv", /app_id); // always undefined
函数可以工作,它将正确的数字前置到我的div,但return总是将我的变量设置为undefined。我明白,脚本运行异步,我需要使用回调函数,但我只是不能得到它的权利。
这叫做javascript事件循环。你不能从函数中返回麻木,因为它只在FB.api的回调中设置。你可以做类似的事情- send callback:
function getLikes(div, graf,callback) {
FB.api(graf, function(response) {
var numblike = response.likes;
$(div).prepend(numblike);
callback(numblike);
});
}
getLikes ("#mydiv", /app_id,function(numblike){
alert(numblike);
}); // always undefined
您已经声明了两次numblike
,只需在第二次中删除var声明:
function getLikes(div, graf) {
var numblike;
FB.api(graf, function(response) {
numblike = response.likes; // var removed
$(div).prepend(numblike);
});
return numblike;
}
相关文章:
- MeteorJS:在带有回调的vzaar api上正确使用wrapAsync
- 回调函数中传递参数的困难(Google Map API Markers)
- 如何通过bxSlider回调api处理事件
- Google Data API上的OOP Javascript回调方法
- JavaScript回调函数和Google Feed API
- Google API 的客户端库不会执行回调
- Google Maps JavaScript API v3:getDetails(请求,回调),用于多个位置
- 如何向 chrome 扩展 API 添加回调函数
- 用于Javascript的Skydrive API中的回调URL
- Chrome API未在嵌套回调中注入cookie
- 如何在Node.js上使用twitter api实现回调函数
- 回调返回响应,但当在API中发送时,响应在节点JS中显示为空白
- 谷歌地图API v3:缩放更改后是否有回调或事件侦听器
- 使用 Javascript/JQuery 使用 Ajax 加载 Google Maps API,回调设置不正确
- Google JS API: gapi.auth.signIn 回调函数问题
- 如果失败,角度回调 API 将添加错误消息
- 无需回调即可使用通知 API 的正确方法
- 创建回调 API
- 如何使用QUnit回调api
- 如何将现有回调 API 转换为承诺