-1
我设置了一个node.js不和谐的bot,它使用firebase来存储用户的状态。我设置了一个switch语句来检查每个命令,到目前为止它一直运行良好。默认情况下是这样的:即使在'break'的情况下,Javascript切换案例也会陷入默认状态
default:
message.reply("Unknown command type \"" + prefix + "help\" for a list of commands.")
然而,实施火力点后,我遇到一个非常不寻常的bug。这里是用“!check”检查另一个用户状态的代码
case "check":
firebase.database().ref('/users/' + msg.replace("!check ", "")).once('value').then(function(snapshot) {
const status = snapshot.val().tagline;
message.reply(message.author.username + "'s status is: " + status);
});
break; // <-- Break that isn't working
我认为这可能与延迟从firebase检索用户状态有关。默认情况是第一个事实是这个事实的一个好兆头。尽管我很困惑,为什么延迟会导致突破被忽略。
所以你在说什么,它总是在默认开关情况下? –
@ManishKumawat所有其他案件的功能正常,只有这种情况下(“检查”的情况下),默认情况下。 – EthanBar
默认和检查的顺序是什么?这是写在第一? –