我正在使用https://pokeapi.co/API来获取所有宠物小精灵。我正在尝试遍历每个神奇宝贝列表https://pokeapi.co/api/v2/pokemon/?limit=44并获取数据。我为此使用诺言。但是我的诺言正在回报我“Value below was evaluated just now”。
我已经尝试过解决方法:-
1. JSON.stringify().
2. JSON.parse(JSON.stringify())
3. setTimeout
4. map, concat etc.
var getPokemonList = new Promise((resolve, reject) => {
const xhr = new XMLHttpRequest();
xhr.open("GET", "https://pokeapi.co/api/v2/pokemon/?limit=4");
xhr.onload = () => resolve(JSON.parse(xhr.responseText));
xhr.onerror = () => reject(xhr.statusText);
xhr.send();
});
var getPokemonListDetails = getPokemonList
.then(function (fulfilledList) {
console.log(fulfilledList.results);
var pokemonList = [];
setTimeout(() => {
fulfilledList.results.forEach(function (pokemon) {
const xhr = new XMLHttpRequest();
xhr.open("GET", pokemon.url);
xhr.onreadystatechange = function () {
if (xhr.readyState === 4) {
pokemonList.push(JSON.parse(xhr.responseText));
}
};
xhr.send();
});
}, 3000);
return pokemonList;
})
.then(function (fulfilledListDetails) {
console.log(fulfilledListDetails);
})
.catch(function (error) {
console.log(error.message);
});
上面的代码为我提供了“刚刚评估了下面的值”数组数据。我可以做些什么使它可用。
相关分类