检查是否没有数据返回 node-fetch discord.js

Check if no data returned node-fetch discord.js

所以我正在尝试为我的机器人创建一个命令,将 Minecraft 用户名转换为 uuid,当用户名无法识别时,mojang API returns 没有数据,是有没有一种方法可以在我的机器人崩溃的情况下检查是否没有返回数据?

fetch(`https://api.mojang.com/users/profiles/minecraft/${username}?`)
    .then(Result => Result.json())
    .then(async mojang => {
        if (mojang.empty) {
            return interaction.reply({content:`No user by the name of **${username}** was found`, ephemeral: true})
        }

您可以使用 Promise.prototype.catch() 并添加 if/else 条件来捕获错误,如下所示:

fetch(`https://api.mojang.com/users/profiles/minecraft/${username}?`).then((response) => {
  // check if initial response is okay
  if (response && response.ok) {
    return response.json();
  } else {
    // handle the error if no initial response was sent
  }
})
.then((responseJson) => {
  // If you get the final json response, proceed
})
.catch((error) => {
 // catch any type of errors related to the promise and handle it
  console.log(error)
});