Le code suivant extrait des données sur les versions à l'aide de GitHub API. Malheureusement, cela ne renvoie que 30 (par défaut) ou jusqu'à 100 éléments.Comment itérer des appels et stocker des résultats sur un objet?
request(`https://api.github.com/repos/${owner}/${repo}/releases?page=1&per_page=30`, options, function (error, response, body) {
if (response.statusCode !== 200) {
return console.log(`Error: response code ${response.statusCode}`)
}
let data = JSON.parse(body);
data.forEach(function(element) {
// do things with data
});
});
En utilisant le paramètre page
, il devrait être possible de récupérer des éléments au-delà du maximum par page. La question est: Comment puis-je itérer ces appels request
et retourner un objet contenant tous les résultats?
Voici ce que j'ai essayé:
function getReleases(callback, page = 1) {
request(`https://api.github.com/repos/${program.owner}/${program.repo}/releases?page=${page}&per_page=30`, options, function (error, response, body) {
if (response.statusCode !== 200 || error) {
console.log(`Error ${response.statusCode}`);
callback(null) // not sure about this
}
let data = JSON.parse(body);
callback(data);
});
}
function formatReleaseData(data) {
// do things with data
}
formatReleaseData(show_page_count);
Existe-t-il un exemple de rappel que je peux regarder? – Raymond
@Raymond S'il vous plaît jeter un oeil à mon édition – idleberg