您好,我是Java语言和API的新手。
但是我有一个练习,应该从中获取数据。
问题在于,它不会一次列出所有行星,因此URL仅显示前10个条目,而https://swapi.co/api/planets/?page=2显示下一个条目,依此类推。
这是我当前的代码,它可以正常工作,但是我不认为我应该这样做,所以我想知道您将如何解决这个问题。
https://codepen.io/indiehjaerta/pen/QQXVJX
var starWarsAPI = new StarWarsAPI();
starWarsAPI.Initialize();
function StarWarsAPI()
{
this.planets = new Array();
this.Initialize = function()
{
this.LoadPlanets("https://swapi.co/api/planets");
}
this.LoadPlanets = function(aURL)
{
fetch(aURL).then(
function (response)
{
if (response.status !== 200)
{
console.log('Looks like there was a problem. Status Code: ' + response.status);
return;
}
response.json().then(
data => this.LoadPlanetsRecursive(data)
);
}.bind(this)
).catch(function (err)
{
console.log('Fetch Error :-S', err);
});
}
this.LoadPlanetsRecursive = function(aData)
{
for (let planet of aData.results)
{
let newPlanet …Run Code Online (Sandbox Code Playgroud)