Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么我能';t console.log这个函数? 让fetchPokemons=async()=>{ for(设i=0;i{ 让response1=等待获取(`https://pokeapi.co/api/v2/pokemon/${id}`); 让pokemon=wait response1.json(); pokedex(口袋妖怪); } 功能pokedex(口袋妖怪){ console.log(pokemon.types) } 抓取口袋妖怪();_Javascript_Html_Api_Async Await - Fatal编程技术网

Javascript 为什么我能';t console.log这个函数? 让fetchPokemons=async()=>{ for(设i=0;i{ 让response1=等待获取(`https://pokeapi.co/api/v2/pokemon/${id}`); 让pokemon=wait response1.json(); pokedex(口袋妖怪); } 功能pokedex(口袋妖怪){ console.log(pokemon.types) } 抓取口袋妖怪();

Javascript 为什么我能';t console.log这个函数? 让fetchPokemons=async()=>{ for(设i=0;i{ 让response1=等待获取(`https://pokeapi.co/api/v2/pokemon/${id}`); 让pokemon=wait response1.json(); pokedex(口袋妖怪); } 功能pokedex(口袋妖怪){ console.log(pokemon.types) } 抓取口袋妖怪();,javascript,html,api,async-await,Javascript,Html,Api,Async Await,我正在尝试创建一个Pokedex。 据我所知,此代码执行以下操作: FetchPokemon函数将首先运行。 在它里面,getPokemon将运行 从API获取响应后,Pokedex函数将运行 因此,我正在通过console.logging在Pokedex函数中记录pokemon.types来测试pokemon数据是否返回 那么我理解错了吗?如果你要第0个口袋妖怪,API 404s。404导致异常,终止for循环。试试这个: 功能pokedex(口袋妖怪){ console.log(pokem

我正在尝试创建一个Pokedex。 据我所知,此代码执行以下操作:

FetchPokemon函数将首先运行。 在它里面,getPokemon将运行

从API获取响应后,Pokedex函数将运行

因此,我正在通过console.logging在Pokedex函数中记录pokemon.types来测试pokemon数据是否返回


那么我理解错了吗?

如果你要第0个口袋妖怪,API 404s。404导致异常,终止for循环。试试这个:

功能pokedex(口袋妖怪){
console.log(pokemon.types)
}
异步函数getPokemon(id){
让response1=等待获取(`https://pokeapi.co/api/v2/pokemon/${id}`);
让口袋妖怪;
尝试{//捕获404或响应错误(如果发生),以使循环不会死亡
pokemon=wait response1.json();
}捕捉(错误){
控制台错误(err);
}
pokedex(口袋妖怪);
}
异步函数fetchPokemons(){
对于(设i=1;i<5;i++){//从1开始,而不是从0开始
等待口袋妖怪(一);
}
}

抓取口袋妖怪()之所以发生这种情况,是因为从索引0开始,返回404。您需要将0更改为1:

let fetchPokemons = async() =>{
    for(let i = 0; i < 50; i++){
        await getPokemon(i);
    }
}


let getPokemon= async id => {
    let response1 = await fetch(`https://pokeapi.co/api/v2/pokemon/${id}`);
    let pokemon = await response1.json();
    pokedex(pokemon);
}

function pokedex(pokemon){
    console.log(pokemon.types)
}

fetchPokemons();
for(设i=1;i<50;i++)

给定的代码到底出了什么问题?如果这是在网站上运行的,我猜OP会出现CORS错误。哦,你的浏览器控制台有错误吗?如果是这样,请与我们分享。该API实际上有一个通配符CORS。真是太好了them@Amy{SyntaxError:JSON.parse:JSON数据的第1行第1列出现意外字符}我仅收到此错误您没有等待异步方法fetchPokemons(),并且索引0处没有pokemon。
for(let i = 1; i < 50; i++)