通过Javascript AJAX获取Twitch API搜索流 - 获取所有流

时间:2016-10-06 21:18:59

标签: javascript ajax twitch

我有一个ajax函数命中Twitch API来查找" Starcraft"流。

$.ajax({
  type: 'GET', 
  url: 'https://api.twitch.tv/kraken/search/streams?q=starcraft',
  headers: {'Client-ID': 'xxx'},
  success: function(json) {
    console.log(json);
}});

返回Object {_total: 108, _links: Object, streams: Array[9]}。我希望streams数组保存所有流(全部108个)。

我尝试过将限制和偏移量添加到网址中,如下所示: https://api.twitch.tv/kraken/search/streams?limit=100&offset=0&q=starcraft但这显然只适用于流量不足100的情况。任何熟悉Twitch API的人都有limit=max类的东西吗?如果没有,解决方法是什么?

1 个答案:

答案 0 :(得分:0)

以下是基于我对您的问题的评论,应该让您入门。我已经假设offest与页面等效。请注意,代码未经测试且仅为起点。

同时确保通过ajax调用处理失败,这样你就不会陷入无限循环。

fucntion GetAllStreams(){
    var arrStreams = [];
    var offset = 0;
    var total = -1;

    while(total < 0 || arrStreams.length < total)
    {
        $.ajax({
          type: 'GET', 
          url: 'https://api.twitch.tv/kraken/search/streams?limit=100&offset=' + offset++ + '&q=starcraf',
          headers: {'Client-ID': 'xxx'},
          success: function(json) {
            arrStreams.push(json.streams);
            console.log(json);
            console.log(arrStreams);
        }});
    }   

    retrun arrStreams;
}