鉴于此异步递归函数(如果您在安装了 axios 的情况下复制并粘贴它,则在节点上工作):
const axios = require('axios');
fetchAllSync('https://api.github.com/repos/octokit/rest.js/issues/comments', {per_page:100})
.then(function(data){
console.log(data.length);
});
async function fetchAllSync(requestUrl, parameters) {
// Construct request url with given parameters
requestUrl = parameters ? `${requestUrl}?`: requestUrl;
for(let parameter in parameters){
requestUrl = requestUrl.concat(`${parameter}=${parameters[parameter]}&`);
}
let res = await axios.get(requestUrl);
// Return results immediataly if there is only 1 page of results.
if(!res.headers.link){
return Promise.resolve(res.data);
}
// Get page relation links from header of response and make request for next page of comments
let linkRelations = res.headers.link.split(',').map(function(item) …Run Code Online (Sandbox Code Playgroud)