Facebook股票计数,暂停直到回调功能结束
Facebook shares count, pause until callback function finishes
我正在尝试获取一个页面上多个URL的Facebook共享计数。为了做到这一点,我打电话http://graph.facebook.com为他们每个人。因为我在一个循环中这样做,我遇到了一个问题,所以在回调函数完成之前,我的循环就被执行了,所以我遇到了麻烦。我的代码看起来像这个
$('span.share_counter').each(function() {
site_url=$(this).attr('id');
getJSON(site_url, function(err, data) {
alert(site_url);
});
});
有没有什么可以让循环等待getJSON的回调函数完成,然后继续,或者我是以错误的方式处理这个问题?
基本上没有什么好方法可以随心所欲。此外,你不应该试图这样做。Javascript在事件循环中运行,这意味着如果您有一个特定的操作阻塞,整个UI就会冻结。
回调的创建允许UI通过让其他作业轮流处理来继续。getJson
进行回调是有原因的。它可能会阻塞很长一段时间,这对您的事件循环来说非常糟糕。
您应该尝试重新构造代码,这样就不需要getJson()
调用立即返回。
潜在的你想做的事:
$('span.share_counter').each(function() {
var curElement = $(this);
var site_url = curElement.attr('id');
getJSON(site_url, function(err, data) {
modifyElement(curElement, data)
});
});
相关文章:
- Facebook股票计数,暂停直到回调功能结束
- Bootbox:取消对话框后的回调功能/点击'X'按钮
- 谷歌登录无法识别登录 角度中的回调功能
- JQuery AJAX没有't获得成功回调功能
- 如何在 jquery/js 中模仿此回调的功能
- 为我的简单 JavaScript 函数添加回调功能
- 异常捕获在功能上是否与承诺错误回调相同
- 所有节点都是“;回调”;潜在异步功能
- twitter共享回调功能不再工作了吗
- Auth0 Lock没有触发鉴权回调功能
- 在JavaScript类中添加回调功能
- 传单js地图初始化和回调功能
- Titanium Appcelerator回调功能在Android中不起作用
- 使用webpack时,谷歌地图无法访问回调功能
- JavaScript回调功能失败
- JS/Jquery条件,无回调功能
- 谷歌标签管理器中回调功能上的广告词转换跟踪
- 使用回调功能在谷歌地图上放置多个标记
- 回调功能的优点,用简单的英语和真实的例子
- 需要回调功能