【发布时间】:2022-08-13 00:15:05
【问题描述】:
我正在为我的 discord.js 命令从 pokeAPI 中提取 Pokémon 的类型。如果神奇宝贝有两种类型,它会正常工作,但是当神奇宝贝只有一种类型时我会遇到问题。
我在我的文件中定义它们:
常量 type1 = 类型[0].type.name; 常量 type2 = 类型[1].type.name;
并将它们加载到我的嵌入中:
{
名称:\“类型\”,
值:`${type1},${type2}`,
内联:假,
},
API数据:
一种类型
\“类型\”:[
{
\"插槽\": 1,
\“类型\”: {
\"姓名\": \"正常\",
\"url\": \"https://pokeapi.co/api/v2/type/1/\"
}
}
],
两种类型
\“类型\”:[
{
\"插槽\": 1,
\“类型\”: {
\"名称\": \"毒药\",
\"url\": \"https://pokeapi.co/api/v2/type/4/\"
}
},
{
\"插槽\": 2,
\“类型\”: {
\"姓名\": \"飞行\",
\"url\": \"https://pokeapi.co/api/v2/type/3/\"
}
}
],
当我尝试使用一种类型的神奇宝贝运行我的命令时,我在控制台中收到以下错误:TypeError: Cannot read properties of undefined (reading \'type\')
我想我必须在嵌入中做一些事情来忽略第二种类型,如果它不存在,但我无法弄清楚。我也尝试了以下方法,但 api 没有返回任何内容,甚至为 null:
`${type1}, ${type2 == 空? ```:`${type2}`}`
谁能在正确的轨道上帮助我?
-
为什么
valueproperty 的内容是字符串? (如果它可以有多个值,为什么它是value而不是values?)。使它成为一个数组并调整您的设置,以便它可以处理一个数组并且您的问题就消失了。
标签: javascript api discord