为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript - 为什么我的 API 调用变量返回未定义?

JavaScript - 为什么我的 API 调用变量返回未定义?

三国纷争 2023-07-14 10:12:18
我正在开发一个简单的应用程序来检查高分,目前我有 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);

}


查看完整回答
反对 回复 2023-07-14
  • 1 回答
  • 0 关注
  • 102 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信