如果否则不起作用-谁想成为百万美元的 nodeJS

时间:2021-06-29 11:42:19

标签: node.js discord.js

if else 对我不起作用

            const filter = (reaction, user) => {
                return ['?', '?', '?', '?'].includes(reaction.emoji.name) && !user.bot;}
                message.awaitReactions(filter, {max: 1, time: 20000, errors: ["time", "max"]})
                .then(collected => {
                    console.log(random_question.correct)
                    var reaction = collected.first().emoji.name
                    console.log(reaction)
                    if (reaction == '?') {
                        if(random_question.correct == "0")
                          return  message.channel.send("bạn vừa trả lời đúng rồi đấy")
                           else message.channel.send(`bạn vừa trả lời sai`)
                        }
                   else if (reaction == 'B') {
                    if(random_question.correct == "1")
                      return  message.channel.send("bạn vừa trả lời đúng rồi đấy")
                       else message.channel.send(`bạn vừa trả lời sai`)
                    }
                   else if (reaction == 'C') {
                    if(random_question.correct == "2")
                      return  message.channel.send("bạn vừa trả lời đúng rồi đấy")
                       else message.channel.send(`bạn vừa trả lời sai`)
                    }
                   else if (reaction == 'D') {
                    if(random_question.correct == "3")
                      return  message.channel.send("bạn vừa trả lời đúng rồi đấy")
                       else message.channel.send(`bạn vừa trả lời sai`)
                    }
                })
                .catch (errors => {
                    message.channel.send(` hết giờ! `);
                });
            })

这是控制台输出:

{
  correct: 0,
  content: [ 'Orissa', 'Tamil nadu', 'Andhra Pradesh', 'Kerala' ],
  question: 'Heavy Water Project (Talcher) and Fertilizer plant (Paradeep) are famous industries of'
}

当我选择“A”时,它会正确响应,但当我选择 B、C、D 时,我无法得到响应 有人可以帮我吗?

1 个答案:

答案 0 :(得分:1)

return 关键字后不能有任何条件语句(或其他任何内容) - 代码如下:

    const filter = (reaction, user) => {
        return ['?', '?', '?', '?'].includes(reaction.emoji.name) && !user.bot;}
        message.awaitReactions(filter, {max: 1, time: 20000, errors: ["time", "max"]})
        .then(collected => {
            console.log(random_question.correct)
            var reaction = collected.first().emoji.name
            console.log(reaction)
            if (reaction == '?') {
                if(random_question.correct == "0")
                  return  message.channel.send("bạn vừa trả lời đúng rồi đấy")
                   
                } else {
message.channel.send(`bạn vừa trả lời sai`)
}
           else if (reaction == 'B') {
            if(random_question.correct == "1")
              return  message.channel.send("bạn vừa trả lời đúng rồi đấy")
               
            } else {
message.channel.send(`bạn vừa trả lời sai`)
}
           else if (reaction == 'C') {
            if(random_question.correct == "2")
              return  message.channel.send("bạn vừa trả lời đúng rồi đấy")
               
            } else {
message.channel.send(`bạn vừa trả lời sai`)}
           else if (reaction == 'D') {
            if(random_question.correct == "3")
              return  message.channel.send("bạn vừa trả lời đúng rồi đấy")
              
            } else {
message.channel.send(`bạn vừa trả lời sai`)
}
        })
        .catch (errors => {
            message.channel.send(` hết giờ! `);
        });
    })

(抱歉缩进不好)

说明:return 使代码不运行后。此外,else 语句必须在 if 语句的结尾之后。