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) } 抓取口袋妖怪();
我正在尝试创建一个Pokedex。 据我所知,此代码执行以下操作: FetchPokemon函数将首先运行。 在它里面,getPokemon将运行 从API获取响应后,Pokedex函数将运行 因此,我正在通过console.logging在Pokedex函数中记录pokemon.types来测试pokemon数据是否返回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
那么我理解错了吗?如果你要第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++)