我有一个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
类的东西吗?如果没有,解决方法是什么?
答案 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;
}