javascript - api 回调的输出显示第一个对象的数据

标签 javascript jquery api

我正在循环中执行 api 回调以获取值的最新状态。api 调用和循环正在工作,但它没有向我显示返回的第一个对象的数据。相反,它向我显示最后一个对象的数据。循环的原因是因为可能会返回多个对象,但我希望输出按从对象 0 然后对象 1 等顺序遍历它们。

这是 Firebug 的屏幕截图,向您展示了两个具有各自数据点的对象。正如您所看到的,首先显示对象 0,然后显示对象 1。

enter image description here

这是我在页面上输出数据的代码。此代码位于 if 语句中,其中 status = "RESULT"- 您无法从下面的代码中看出,但这两个对象都符合该条件

for (var i = 0; i < response.endpoints.length; i++) {
  var endpoint = response.endpoints[i];
  //console.log(endpoint);
  $pending0.html("<br><b>Server Name: </b>" + endpoint.serverName + "<br><b>Status: </b>" + endpoint.statusMessage + "<br><b>Progress: </b>" + endpoint.statusDetailsMessage);

我对上述代码的问题在于输出的顺序。它显示第二个对象的数据,因为我需要它来为我提供第一个对象的输出。

--更新--

似乎按照 Barmer 的建议在循环中添加 IF

    for (var i = 0; i < response.endpoints.length; i++) {
  var endpoint = response.endpoints[i];
  if (endpoint.statusMessage == "In progress") {
  //console.log(endpoint);
  $pending0.html("<br><b>Server Name: </b>" + endpoint.serverName + "<br><b>Status: </b>" + endpoint.statusMessage + "<br><b>Progress: </b>" + endpoint.statusDetailsMessage);
 }
}

最佳答案

测试循环中的状态。由于您只想显示正在进行的第一个端点,因此您应该在找到它时跳出循环。

for (var i = 0; i < response.endpoints.length; i++) {
    var endpoint = response.endpoints[i];
    if (endpoint.statusMessage == "In progress") {
    //console.log(endpoint);
        $pending0.html("<br><b>Server Name: </b>" + endpoint.serverName + "<br><b>Status: </b>" + endpoint.statusMessage + "<br><b>Progress: </b>" + endpoint.statusDetailsMessage);
        break;
    }
}

关于javascript - api 回调的输出显示第一个对象的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29572889/

相关文章:

javascript - 响应式 html 在 iframe 元素上捕获滑动手势

Facebook 不会分享指向我网站的链接

ios - 对于同一应用程序的 iOS 和 Web 客户端,我是否需要在 Spotify 开发者网站上使用两个不同的应用程序?

api - 我可以使用 Telegram bot api 检测我的机器人组吗

javascript - 媒体查询更改时销毁 Jquery 函数

javascript 正则表达式要求至少一个字母,一个数字并防止添加某些单词

php - css高度调整后计算宽度

javascript - 无法从 html 中加载 html

javascript - JQuery 在调整图像 Canvas 大小后仅调整图像而不是 Canvas

php - 使用ajax提交后隐藏表单