Streamlined the code using loops.

This commit is contained in:
Josh Creek
2019-09-17 23:20:24 +01:00
parent 268d5282d2
commit 6bfbcc654b
+24 -125
View File
@@ -9,111 +9,24 @@ async function getTopGamesAsync(){
// See https://dev.twitch.tv/docs/api/reference/#get-top-games // See https://dev.twitch.tv/docs/api/reference/#get-top-games
// List to hold the top games, to be returned by the function // List to hold the top games, to be returned by the function
var tempList = []; var tempGamesList = [];
var requestUrlBase = 'https://api.twitch.tv/helix/games/top?first=100'; var requestUrlBase = 'https://api.twitch.tv/helix/games/top?first=100';
var request1 = new Request(requestUrlBase, {headers: new Headers({'Client-ID': clientID})}); var gamesRequest,gamesResponse,gamesData,gamesCursor;
let response1 = await fetch(request1);
let data1 = await response1.json();
// Get the cursor
let cursor1 = await data1.pagination.cursor;
// Get each game from the returned JSON data and add it to the list
data1.data.forEach(game => {
tempList.push(game);
});
var request2 = new Request(requestUrlBase + '&after=' + cursor1, {headers: new Headers({'Client-ID': clientID})}); for (gamesCounter = 0; gamesCounter < 10; gamesCounter++) {
let response2 = await fetch(request2); gamesRequest = new Request(requestUrlBase + (gamesCursor != undefined ? '&after=' + gamesCursor : ''), {headers: new Headers({'Client-ID': clientID})});
let data2 = await response2.json(); gamesResponse = await fetch(gamesRequest);
// Get the cursor gamesData = await gamesResponse.json();
let cursor2 = await data1.pagination.cursor; // Get the cursor
// Get each game from the returned JSON data and add it to the list gamesCursor = await gamesData.pagination.cursor;
data2.data.forEach(game => { // Get each game from the returned JSON data and add it to the list
tempList.push(game); gamesData.data.forEach(game => {
}); tempGamesList.push(game);
});
}
var request3 = new Request(requestUrlBase + '&after=' + cursor1, {headers: new Headers({'Client-ID': clientID})}); return tempGamesList;
let response3 = await fetch(request3);
let data3 = await response3.json();
// Get the cursor
let cursor3 = await data2.pagination.cursor;
// Get each game from the returned JSON data and add it to the list
data3.data.forEach(game => {
tempList.push(game);
});
var request4 = new Request(requestUrlBase + '&after=' + cursor1, {headers: new Headers({'Client-ID': clientID})});
let response4 = await fetch(request4);
let data4 = await response4.json();
// Get the cursor
let cursor4 = await data3.pagination.cursor;
// Get each game from the returned JSON data and add it to the list
data4.data.forEach(game => {
tempList.push(game);
});
var request5 = new Request(requestUrlBase + '&after=' + cursor1, {headers: new Headers({'Client-ID': clientID})});
let response5 = await fetch(request5);
let data5 = await response5.json();
// Get the cursor
let cursor5 = await data4.pagination.cursor;
// Get each game from the returned JSON data and add it to the list
data5.data.forEach(game => {
tempList.push(game);
});
var request6 = new Request(requestUrlBase + '&after=' + cursor1, {headers: new Headers({'Client-ID': clientID})});
let response6 = await fetch(request6);
let data6 = await response6.json();
// Get the cursor
let cursor6 = await data5.pagination.cursor;
// Get each game from the returned JSON data and add it to the list
data6.data.forEach(game => {
tempList.push(game);
});
var request7 = new Request(requestUrlBase + '&after=' + cursor1, {headers: new Headers({'Client-ID': clientID})});
let response7 = await fetch(request7);
let data7 = await response7.json();
// Get the cursor
let cursor7 = await data6.pagination.cursor;
// Get each game from the returned JSON data and add it to the list
data7.data.forEach(game => {
tempList.push(game);
});
var request8 = new Request(requestUrlBase + '&after=' + cursor1, {headers: new Headers({'Client-ID': clientID})});
let response8 = await fetch(request8);
let data8 = await response8.json();
// Get the cursor
let cursor8 = await data7.pagination.cursor;
// Get each game from the returned JSON data and add it to the list
data8.data.forEach(game => {
tempList.push(game);
});
var request9 = new Request(requestUrlBase + '&after=' + cursor1, {headers: new Headers({'Client-ID': clientID})});
let response9 = await fetch(request9);
let data9 = await response9.json();
// Get the cursor
let cursor9 = await data8.pagination.cursor;
// Get each game from the returned JSON data and add it to the list
data9.data.forEach(game => {
tempList.push(game);
});
var request10 = new Request(requestUrlBase + '&after=' + cursor1, {headers: new Headers({'Client-ID': clientID})});
let response10 = await fetch(request10);
let data10 = await response10.json();
// Get the cursor
let cursor10 = await data9.pagination.cursor;
// Get each game from the returned JSON data and add it to the list
data10.data.forEach(game => {
tempList.push(game);
});
return tempList;
} }
async function getTopStreamsAsync(){ async function getTopStreamsAsync(){
@@ -121,38 +34,24 @@ async function getTopStreamsAsync(){
// See https://dev.twitch.tv/docs/api/reference/#get-streams // See https://dev.twitch.tv/docs/api/reference/#get-streams
// List to hold the top streams, to be returned by the function // List to hold the top streams, to be returned by the function
var tempList = []; var tempStreamsList = [];
var requestUrlBase = 'https://api.twitch.tv/helix/streams?first=100'; var requestUrlBase = 'https://api.twitch.tv/helix/streams?first=100';
// var request1 = new Request(requestUrlBase, {headers: new Headers({'Client-ID': clientID})}); var streamsRequest,streamsResponse,streamsData,streamsCursor;
// let response1 = await fetch(request1);
// let data1 = await response1.json();
// // Get the cursor
// let cursor1 = await data1.pagination.cursor;
// // Get each stream from the returned JSON data and add it to the list
// data1.data.forEach(stream => {
// tempList.push(stream);
// });
var request,response,data,cursor; for (streamsCounter = 0; streamsCounter < 10; streamsCounter++) {
streamsRequest = new Request(requestUrlBase + (streamsCursor != undefined ? '&after=' + streamsCursor : ''), {headers: new Headers({'Client-ID': clientID})});
for (i = 0; i < 10; i++) { streamsResponse = await fetch(streamsRequest);
request = new Request(requestUrlBase + (cursor != undefined ? '&after=' + cursor : ''), {headers: new Headers({'Client-ID': clientID})}); streamsData = await streamsResponse.json();
response = await fetch(request);
data = await response.json();
// Get the cursor // Get the cursor
cursor = await data.pagination.cursor; streamsCursor = await streamsData.pagination.cursor;
// Get each stream from the returned JSON data and add it to the list // Get each stream from the returned JSON data and add it to the list
data.data.forEach(stream => { streamsData.data.forEach(stream => {
tempList.push(stream); tempStreamsList.push(stream);
}); });
} }
return tempStreamsList;
return tempList;
} }