所以我试图让我的不和谐机器人问另一个问题,如果先前的答案是正确的。我目前正在使用do while循环来尝试它,但是我陷入了臭名昭著的无限循环,而且我一生都找不到解决该问题的方法。我的代码如下:
{headers:new HttpHeaders({'Access-Control-Allow-Origin': 'http://localhost:8080'})
答案 0 :(得分:0)
确保为每次迭代更改一个循环条件。
const filter = m => m.author.id === message.author.id;
const listenForAnswer = async () => {
return (await message.channel.awaitMessages(filter, {
maxMatches: 1,
time: 10000,
errors: ['time', 'maxMatches']
})).first();
};
const askQuestion = async () => {
const randomNumber = Math.floor(Math.random()*data.results.length);
const question = data.results[randomNumber].question;
message.channel.send(question);
let answer = await listenForAnswer();
while (answer.content.toLowerCase() !== correctAnswer.toLowerCase()) {
message.channel.send("Nah.");
answer = await listenForAnswer();
}
// We've made it out of the incorrect loop...
message.channel.send("hell yeah.");
};
while(true) {
// Ask questions forever...
await askQuestion();
}
此示例尚未经过测试。我只是根据您问题中提供的代码所做的假设将它们汇总在一起。