Twitch.tv API 在线/离线不准确

维齐卡尔

有时,当频道实际离线时,状态显示不准确,反之亦然。有时第一个频道无法正确显示。有什么理由吗?

代码笔:https : //codepen.io/Wizikal/full/NvJpZo/

Javascript 部分:

$(document).ready(function() {
    var array = ["tsm_dyrus", "summit1g", "shroud", "freecodecamp", "imaqtpie", "GreekGodX", "huni", "faker", "loltyler1"];
    for (var i = 0; i < array.length; i++) {
        $.getJSON('https://wind-bow.glitch.me/twitch-api/streams/' + array[i] + '?callback=?', function(result) {
            if (result.stream === null) {
                status = 'offline';
            } else if (result.stream === undefined) {
                status = 'offline';
            } else {
                status = 'online';
            };
        });
        $.getJSON('https://wind-bow.glitch.me/twitch-api/users/' + array[i],
            function(twitch) {
                body = "<div class = 'row text-center " + status + "' id = 'line'><div class = 'col-md-4' id = 'image'><img src = '" + twitch.logo + "'></div><a href = 'https://www.twitch.tv/" + twitch.name + "' class = 'col-md-4' target = 'blank'><p id = 'title'>" + twitch.name + "</p></a><p class = 'col-md-4' id = 'status'>" + status + "</p></div>";
                $('#main').append(body);
            });
    }
    $('#all').on('click', function() {
        $('.offline').show();
        $('.online').show();
    })
    $('#online').on('click', function() {
        $('.offline').hide();
        $('.online').show();
    })
    $('#offline').on('click', function() {
        $('.offline').show();
        $('.online').hide();
    })
})
帕特里克·埃文斯

几个问题。您正在使用一个 getJSON 调用来获取状态,然后使用另一个来获取用户信息,一个将在另一个之前完成,即您没有告诉他们等待另一个。您还将状态存储在全局变量中,以便在调用之间共享值。

相反,您可以将每个请求存储到一个变量中,将每个请求传递给jQuery.when(),然后在两个请求完成时进行解析。然后,您可以在同一个 then() 回调中使用这两个结果。

for (var i = 0; i < array.length; i++) {
  let streamRequest = $.getJSON('https://wind-bow.glitch.me/twitch-api/streams/' + array[i] + '?callback=?');
  let userRequest = $.getJSON('https://wind-bow.glitch.me/twitch-api/users/' + array[i]);
  $.when(streamRequest,userRequest)
   .then(function(statusResult,twitch){
     //when() results get stored in arrays, [data,status,jqXHR]
     statusResult = statusResult[0]; twitch = twitch[0];

     //undefined / null are both falsy so just do a single test
     var status = statusResult.stream ? 'online' : 'offline';
     $('#main').append("<div class = 'row text-center " + status + "' id = 'line'><div class = 'col-md-4' id = 'image'><img src = '" + twitch.logo + "'></div><a href = 'https://www.twitch.tv/" + twitch.name + "' class = 'col-md-4' target = 'blank'><p id = 'title'>" + twitch.name + "</p></a><p class = 'col-md-4' id = 'status'>" + status + "</p></div>");
   });
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Twitch TV JSON API问题

来自分类Dev

使用Twitch API显示离线/在线流光

来自分类Dev

使用Twitch API显示离线/在线流光

来自分类Dev

XMLHttprequest无法使用twitch.tv api

来自分类Dev

如何使用从 twitch.tv 的 API 生成的 href 元素包装引导行?

来自分类Dev

侦听Twitch.tv上的URL更改

来自分类Dev

侦听Twitch.tv上的URL更改

来自分类Dev

Twitch API,流URL

来自分类Dev

Twitch API 登录授权

来自分类Dev

从 Twitch API 获取价值

来自分类Dev

下载twitch.tv流的第一帧

来自分类Dev

Twitch.tv无法正常运行,Lubuntu 16.04

来自分类Dev

Freecode Camp 上的 Twitch Api。空值不等于离线。

来自分类Dev

Twitch API redirect_mismatch

来自分类Dev

twitch API的json_decode

来自分类Dev

Twitch API减慢网站速度

来自分类Dev

Twitch API redirect_mismatch

来自分类Dev

Twitch Helix API:无效的OAuth令牌错误

来自分类Dev

Python Twitch API属性错误问题

来自分类Dev

使用PHP的Twitch API连接错误

来自分类Dev

Twitch API 获取观众人数

来自分类Dev

在Android App中播放Twitch.Tv视频?(Android Studio开发)

来自分类Dev

Golang-从Twitch TV RESTful服务解析JSON字符串数组

来自分类Dev

TextToSpeech:检查API <21是否在线或离线

来自分类Dev

调色板API颜色提取不准确

来自分类Dev

Reddit和Twitch API的速率限制如何工作?

来自分类Dev

Twitch API和PHP(查看流媒体数据)

来自分类Dev

Flask和python不允许递归函数Twitch API

来自分类Dev

Reddit和Twitch API的速率限制如何工作?