亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Masalah mendapatkan statistik tertentu (Statistik) daripada PokeAPI menggunakan Axios dan Node.js
P粉953231781
P粉953231781 2024-04-06 18:46:35
0
1
1191

Saya ada masalah, saya cuba menggunakan API Pokemon, tetapi apabila saya cuba mengakses statistik serangan, HP, dan kelajuan, ia menunjukkan semua Pokemon undefined! Bolehkah sesiapa memberitahu saya apa yang salah dengan panggilan API?

const axios = require('axios');

const apiPokemon = async () => { 
    try {
        const pokemons = await axios
        .get('https://pokeapi.co/api/v2/pokemon?limit=50')
        const secondUrlMap = await  pokemons.data.results.map(  pokemon  => {
            return pokemon.url
        })
        const pokemonArr = await Promise.all(secondUrlMap.map(async(url) => { 
            const urlResponse = await axios(url)
            return{
                id:urlResponse.data.id,
                name:urlResponse.data.name,
                height:urlResponse.data.height,
                weight:urlResponse.data.weight,
                hp:urlResponse.data.stats.find(stat => stat.name === 'hp')?.base_stat,
                attack:urlResponse.data.stats.find(stat => stat.name === 'attack')?.base_stat, 
                speed:urlResponse.data.stats.find(stat => stat.name === 'speed')?.base_stat,
                types:urlResponse.data.types.map((type) => type.type.name),
                img:urlResponse.data.sprites.other['official-artwork'].front_default,
            }
        }))
        return pokemonArr
    } catch (error) {
        return ({error:error.message})
    }
}

module.exports =  {
    apiPokemon,
}

Saya mempunyai fail index.js untuk menguji penerimaan API dan inilah yang dikembalikan:

const { apiPokemon } = require('./apiPokemon')

async function testApi() { 
    const pokemons = await apiPokemon()
    console.log(pokemons)
}

testApi()

Struktur API:

P粉953231781
P粉953231781

membalas semua(1)
P粉403549616

Kod semasa anda tidak mengambil kira struktur JSON dengan betul - ia mencari dalam akar setiap objek dalam tatasusunan name 屬性。您需要使用 解構(gòu) 來(lái)訪問(wèn)stat untuk sifat secara langsung dalam keadaan:

hp: urlResponse.data.stats.find(({stat}) => stat.name === 'hp')?.base_stat
attack: urlResponse.data.stats.find(({stat}) => stat.name === 'attack')?.base_stat
// etc.

Atau pun boleh guna stat.name 更改為 stat.stat.name.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan