我正在开发一个简单的应用程序来检查高分,目前我有 API 将其值返回到控制台,但是当我尝试与此数据交互时,它返回未定义在下面的代码中,我使用“await highscores.getStats”调用API,但例如当我尝试console.log“highScoreData”的值时,它返回未定义。我对 JS 编程非常陌生,因此我们将不胜感激。目前,api 返回一个 json 对象并将其值打印到控制台。这一切都工作正常。const Hiscores = require('osrs-hiscores').default;const hiscores = new Hiscores({ timeout: 6000});async function getHighscores() { let namePara = document.getElementById("UsrName").value; let typePara; let validArgument = false; if (namePara.length <= 12 && namePara.length > 0) { console.log("Valid Name"); validArgument = true; } else { console.log("Invalid Name"); validArgument = false; } if (validArgument === true) { console.log(`Player Name: ${namePara}`); const highScoreData = await hiscores.getStats(`${namePara}`) .then(res => console.log(res)) .catch(err => console.error(err)); }}
1 回答
慕尼黑的夜晚无繁华
TA贡献1864条经验 获得超6个赞
当您使用await语法时,您不应该使用then/catch,结果位于“highScoreData”常量中,这就是您应该记录的内容。另外,如果您想使用await 语法捕获错误,则应该使用来自其他编程语言(如Java 或PHP)的人更熟悉的try/catch 方法。
try {
const highScoreData = await hiscores.getStats(`${namePara}`);
console.log(highScoreData);
} catch (err) {
console.error(err);
}
添加回答
举报
0/150
提交
取消