Node.js API请求随机停止

时间:2020-07-15 05:15:38

标签: javascript node.js axios discord.js

这是我的第一个项目,是的,代码很糟糕,请保持友好! 我正在研究Discord Bot,它要求整个公会使用游戏API。首先,我将公会的所有ID放入一个数组,然后为每个ID发出一个get请求。 我的问题是,请求会在一段时间(总是不同)后随机停止,我不知道为什么。它也没有给出错误。 我已经尝试过从另一个程序运行它,更改我正在使用的程序包,看起来可以使用该密钥,但是最后,一切都一样。

    while (guildmembers[i2] != undefined) {
      console.log(guildmembers[i2])
      let url = 'https://api.hypixel.net/player?key=' + APIkey
      let Guildmembersuuid = guildmembers[i2]
      let profilelurl = url + '&uuid=' + Guildmembersuuid
      const TESTguildPlayerinfos = await axios.get(profilelurl)
      console.log(TESTguildPlayerinfos)
      i2++
    }

如果我对帖子有任何错误或没有提供足够的信息,请告诉我! 非常感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

尝试使用Promise.all(),该方法接受一个Promise数组,然后在其后放置catch块以查看是否存在任何问题。

答案 1 :(得分:0)

您似乎正在达到Hypixel的调节极限-您需要更加谨慎地处理自己的请求。按目前的情况,他们将以每分钟120个请求的速度阻止您。您可能需要像上述线程中的一个成员一样手动进行限制(在每次调用API之间等待0.5秒,以确保您不会超出限制),或者在两者之间插入缓存,以使调用实际上并不总是着陆在Hypixel后端。

https://hypixel.net/threads/api-request-limit.815723/