我一直在努力使一个小的应用程序,以获得图像和信息从宝可梦api在http://pokeapi.co/,我遵循的过程中使用的承诺,但我可以得到一组(例如:水类型),它给我78个对象,每一个有一个resource_uri这是给我每个宝可梦的信息的数据。到目前为止,我已经做到了这一点,我可以得到所有的对象,然而,现在我如何才能得到每个对象推到控制台日志(或以后使用它们)所有78pokemons与每个的数据。到目前为止我的代码是>
var $ = window.jQuery
var base = 'http://pokeapi.co/api/v1/egg/'
Promise.resolve($.get(base + '2'))
.then((results) =>
.then((results) => {
var pokechara = results.pokemon
var basechara = 'http://pokeapi.co'
var promises = []
for (let chara of pokechara){
var pokech = pokechara[i]
'${something}'
var pokechurl = basechara + pokechara[0].resource_uri
promises.push(Promise.resolve($.get(pokechurl)))
}
debugger
return Promise.all(promises)
})
.then((poke) => {
console.log(poke)
})
.catch((err) => {
debugger
})
我真的很想用yugioh的api做点什么。wikia,但我不知道我怎么能得到工作,因为跨服务器或头的问题。要查看我正在做的预览,您可以访问http://www.kengreg.com/yugiohapp/
Thanks in advance
实际上,在您对Alex的回复中使用的代码中,用于调用api的字符串变量是唯一错误的,需要开始时的'http://'部分。除此之外,你的代码工作得很好。
var $ = window.jQuery;
var base = 'http://pokeapi.co/api/v1/egg/';
Promise.resolve($.get(base + '2'))
.then((results) => {
var pokechara = results.pokemon;
var basechara = 'http://pokeapi.co/';
var promises = [];
for (var i in pokechara){
var pokech = pokechara[i];
var pokechurl = basechara + pokechara[0].resource_uri;
promises.push(Promise.resolve($.get(pokechurl)));
}
debugger
return Promise.all(promises);
})
.then((poke) => {
debugger;
console.log(poke);
})
.catch((err) => { debugger })
我留下了调试器,以便您可以检出承诺的结果。最后的poke变量应该包含您想要的对象数组。