我需要帮助在同步模式下调用FB.api()
I need help to make FB.api() call in Synchronous Mode
我在for循环中运行FB.api时遇到问题。
for(var i = 0; i < commentObjectLength; i++){
var fbFeedID = commentObject.OwnCommentList[i].fbFeedID;
var OwnCommentID = commentObject.OwnCommentList[i].OwnCommentID;
var accessToken = commentObject.OwnCommentList[i].accessToken;
var commentText = commentObject.OwnCommentList[i].commentText;
alert("Hiii"); // >>>>>>>1
FB.api('/' + fbFeedID + '/comments', 'post', {
message: commentText,
access_token : accessToken
}, function (response) {
if (!response || response.error){
//alert(response.error.message);
} else {
alert("Hello"); // >>>>>>>2
alert(response.id); // >>>>>>>3
}
});
}
现在用简单的方式告诉大家
我期待着像
那样保持警惕1->Hiii
2->你好
3->一些响应id
4->Hiii
5->你好
6->的一些响应
但事实上,我像
一样离开了1->Hiii
2->Hiii
3->Hiii
持续到循环大小
8->你好
9->一些响应id
10->你好
11->一些响应id继续
问题是一直以来,循环的最后一个日期将转到Facebook并在推送上发表评论。不单独。
所以请任何人帮我解决这个问题。我很挣扎
(希望每个人都能理解问题,任何需要的额外信息请询问)
您需要进一步研究闭包,它将为您提供解决此问题的适当方案。
闭包为您提供了一种将所有变量值保留在其自己的函数调用中的方法,这就是为什么当FB.api返回到您的代码并做出响应时,所有局部变量在调用FB.api时都将具有相同的值。我相信这会解决你的问题。
FB.*是基于事件的,有一些技巧可以使它更同步,但它不会真正工作。您需要链接您的函数调用。
for(var i = 0; i < commentObjectLength; i++){
var fbFeedID = commentObject.OwnCommentList[i].fbFeedID;
var OwnCommentID = commentObject.OwnCommentList[i].OwnCommentID;
var accessToken = commentObject.OwnCommentList[i].accessToken;
var commentText = commentObject.OwnCommentList[i].commentText;
FB.api('/' + fbFeedID + '/comments','post',{
message: commentText,
access_token : accessToken
}, function (response) {
alert("Hiii"); // >>>>>>>1
if (!response || response.error){
//alert(response.error.message);
} else {
alert("Hello");// >>>>>>>2
alert(response.id); // >>>>>>>3
}
});
}
相关文章:
- 科尔多瓦脸书登录FB.api调用不起作用
- 下划线模板内的 FB.api() 调用
- FB.api 仅在第一次 AJAX 调用页面时加载
- FB喜欢按钮在ajax调用中不起作用
- 进行多个 fb.api 调用
- Facebook wordpress 插件 - 如何加载 jssdk 并调用 FB.init,而不会与其他 facebo
- FB.Event.subscribe永远不会被调用
- 调用 FB 信用 API 期间出现错误 1151
- 如何在 FB API 中延迟 API 调用
- 将“oscif”设置为false,或在FB.ui调用中省略dev_purchase_params:{“oscif”:tr
- 在对 FB.api 进行异步调用时保留变量值
- FB.api 调用后不需要的页面重新加载
- FB.ui回调未调用/FB.ui流永远发布加载
- Facebook API-FB.API()调用有效,但AJAX请求无效
- 当我在Opera中调用FB.Canvas.setSize时,javascript FB对象没有准备好
- Facebook JS API:任何对FB.ui的调用都返回错误代码:191
- 我需要帮助在同步模式下调用FB.api()
- Facebook注销/断开连接FB.login()在用户已经连接时调用
- 没有访问令牌而调用FB.logout()
- FB.UI对话框"permission "回调从未被调用