猿问

如何解决“下面的值刚刚被评估。” 用于链接然后功能

我正在使用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);

    });

上面的代码为我提供了“刚刚评估了下面的值”数组数据。我可以做些什么使它可用。


ITMISS
浏览 188回答 2
2回答
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答