我需要帮助才能在同步模式下进行 FB.api() 调用

2024-01-19

我在 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-> 嗨
2-> 你好
3-> 一些响应 ID
4-> 嗨
5-> 你好
6-> 一些响应 id

但实际上我是这样出去的
1-> 嗨
2-> 嗨
3-> 嗨

继续直到循环大小
8-> 你好
9-> 一些响应 ID
10-> 你好
11-> 一些响应 ID 继续

问题是循环的最后日期始终会发送到 Facebook 并在 feed 上发表评论。不是分开的。

所以请任何人帮我解决这个问题。我很挣扎。
(希望每个人都能理解问题,需要任何额外信息请询问)


你需要进一步学习Closures https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Closures它将为您提供解决此问题的正确方法。

闭包为您提供了一种将所有变量值保留在其自己的函数调用中的方法,这就是为什么当 FB.api 将通过响应返回到您的代码时,在调用 FB.api 时所有局部变量将具有相同的值。我相信这会解决您的问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我需要帮助才能在同步模式下进行 FB.api() 调用 的相关文章

随机推荐

  • HikariCP多线程每个线程单独连接

    致 stackoverflow 社区的人们 我正在寻求一些帮助来解决我在 HikariCP 连接池方面遇到的问题 高水平 我正在尝试使用线程池创建多个线程 我的计划是为每个工作线程提供与 HikariCP 各自独立的连接 但 HikariC
  • 将 Xcode 8 与 iOS 11 结合使用

    我想在 iOS 11 中使用 Xcode 8 我应该升级我的 Xcode 吗 但是 我的代码无法由新编译器构建 因此我想继续使用 Xcode 8 我怎样才能做到这一点 苹果在 WWDC 2017 上公布了 iOS 11 的多项新功能 截至目
  • 新版 Google Play 服务中的“Listener”发生了什么变化

    在 Android Studio 中 我已更新 Google Play 服务 com google android gms play services 6 1 11 to com google android gms play servic
  • 我的代码发出错误“应用程序:不是过程”或“调用非过程”

    在执行我的代码期间 我在不同的方案实现中遇到以下错误 Racket application not a procedure expected a procedure that can be applied to arguments give
  • Bootstrap:如何识别Bootstrap版本?

    我想更新网站上的 Bootstrap 但我不知道安装的版本 如何仅使用 bootstrap css 和 bootstrap min js 文件来识别 bootstrap 版本 CSS 文件中没有版本 min js 文件包含以下注释 Boot
  • 错误:postgresql 中不存在用于更新的列[重复]

    这个问题在这里已经有答案了 我正在尝试将一行文本插入到该列为空的列中 下面列出了错误 任何帮助是极大的赞赏 UPDATE public meditech ar test4 SET filename text WHERE filename i
  • 对 Unity 项目执行版本控制的最佳方法 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在开发我的第一个大型 Unity 项目 这是一个游戏 我有很多资产 现在他们使用超过 200 Mbs 的硬盘 我想使用像 GIT 这样的控制
  • 更新到 jruby-1.7.13 后,在 jruby 中要求自制 gem 失败

    我使用了 jruby 1 7 0 和测试框架 Test Unit TestCase 现在我更新了一些gems 导致我使用MiniTest Test进行测试 所以我也升级到了jruby 1 7 13 我也有一个 rake 任务 它使用 jav
  • 打印出 SQL 单个查询 (Yii 1.x)

    我有一个使用 CDbCriteria 生成的大量查询 如下所示 schema Yii app gt db gt schema builder schema gt commandBuilder how to echo out this que
  • 灵活的数组成员,不必是最后一个

    我试图弄清楚 C 中是否有一种解决方法可以在结构中拥有灵活的数组成员 这不是最后一个 例如 这会产生编译错误 typedef struct attribute packed uint8 t slaveAddr lt The slave ad
  • Web API 空白参数值被转换为 null

    我有一个简单的 Web API 服务 大约有 10 种不同的 GET 操作 这些操作根据输入参数返回各种数据库记录的 JSON 输出 对于一个特定端点 一个空格 应该是一个有效的参数 但它被转换为 null 有没有解决的办法 例如网址是 h
  • 是否有返回当前类/方法名称的函数? [复制]

    这个问题在这里已经有答案了 在 C 中 是否有返回当前类 方法名称的函数 当前班级名称 this GetType Name 当前方法名称 using System Reflection MethodBase GetCurrentMethod
  • 找不到gunicorn命令,但它在我的requirements.txt中

    我正在 Heroku 上部署 Django 应用程序 该应用程序已成功部署 但当我想在提供的 http 链接上查看该应用程序时 出现以下错误 gunicorn在我的requirements txt file 2020 02 21T16 22
  • 包含类型的类型的模板函数重载

    我正在尝试执行以下操作 include
  • 在Unity中画出流畅的线条真的那么难吗?

    一段时间以来 我一直在尝试在 Unity 中绘制平滑的线条 但使用线条渲染器时 我只获得了锯齿状的线条 且边角不是圆角的 特别是当曲率角度非常小时 我在质量设置中增加了抗锯齿的值 并尝试了不同的材质 但没有任何改变 我还尝试在每次鼠标移动时
  • 无法保留运行之间的空间

    我想生成一个word文档 作为输入 我有这个字符串 开放包装约定 每个单词都有不同的样式 结果应该是open包装惯例 WordprocessingDocument document WordprocessingDocument Create
  • java属性改变监听器

    我需要处理两个类之间的更改交互 public class HeadClass private Subclass sub public void refresh public class Subclass ArrayList store pu
  • 如何在托管 C++ 中捕获非托管 C++ 异常

    我正在一个大型非托管 C 库和一个大型 C 库上开发一个瘦托管 C 包装器 我需要捕获源自该大型非托管 C 库的错误 并将它们作为 Clr 异常重新抛出 非托管库抛出以下类的实例 Error Error const std string f
  • C# Treeview 移动节点后不刷新

    在我的 Windows 应用程序中 我有一个树视图 我制作了自定义按钮来向下移动节点 单击按钮时会发生以下情况 Node destNode tvCategories SelectedNode NextNode Node srcNode tv
  • 我需要帮助才能在同步模式下进行 FB.api() 调用

    我在 for 循环中运行 FB api 时遇到问题 for var i 0 i lt commentObjectLength i var fbFeedID commentObject OwnCommentList i fbFeedID va