所以我正在运行我的脚本,我想知道为什么我的一些代码在彼此之前运行。为什么我的一些代码在其他代码之前运行?
例如,我有一个函数,我最后调用它,之后应该显示一条消息。但相反,它首先运行该功能,然后显示该消息。
此外,我注意到显示消息,它会显示在随机顺序每次。 (Wierd Huh)
我设法通过创建一堆.this来解决这个问题,但是我不想在将来这么做,因为它会使代码非常混乱。
下面是我的一些代码片段,这是发生在:
else if (input.startsWith('CALL')) {
//First
bot.sendMessage(message, ':arrow_right: Private Messaging You To Decrease Spam :arrow_left:');
//Second
bot.sendMessage(user.id, ':rotating_light: This feature is experimental. You may experience bugs/glitches when using it. :rotating_light: \n').then(() => getUser()); // << Third
var senderId = message.sender.id; // << Fourth
function getUser() {
try {
var userList = []
for (var user of bot.users) {
if (user.status == "online" && user.bot == false) {
userList.push(user)
}
}
bot.sendMessage(senderId, ':telephone: :arrow_right: Users Found That Meet Search Criteria: ' + userList.length + ' out of ' + bot.users.length + '.'); //Fifth
bot.sendMessage(message, ':telephone: :arrow_right: User Found: ' + userList[Math.floor(Math.random() * userList.length)]); //Sixth
} catch (err) {
bot.sendMessage(message, err)
}
console.log(userList);
console.log(userList.length);
}
}
代码工作,这只是我担心的顺序。
在此先感谢您的帮助:)
编辑:我添加了注释说的顺序应该是什么。
编辑#2:澄清问题:我想知道如何能够使代码以特定顺序运行。在运行之前先等待代码。
我相信你的问题是正确的。他的问题并不十分清楚,但是,这几乎是告诉我们他得到承诺的唯一线索。 –
啊,所以我不得不添加。然后是所有的代码,我希望我不需要那样做。谢谢你:) – TrueXPixels
@TrueXPixels'.then',而不是'.this'。 – smarx