所以我正在運行我的腳本,我想知道爲什麼我的一些代碼在彼此之前運行。爲什麼我的一些代碼在其他代碼之前運行?
例如,我有一個函數,我最後調用它,之後應該顯示一條消息。但相反,它首先運行該功能,然後顯示該消息。
此外,我注意到顯示消息,它會顯示在隨機順序每次。 (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