Пишу бота телеграм на Nodejs. Бот принимает сообщения. Он принял сообщение типа start, потом он принял данные, потом он принял сообщение типа end. Когда он принимает данные между start и end, нужно данные отправить на сервер и получить ответ, а когда нажимает end нужно эти данные использовать. Проблема в том, что пользователь может отправить end слишком быстро и тогда данные не успеют обработаться. Вот фрагмент кода (таких if/else там много. Я так понимаю, что нужно использовать промисы или await/async, но не могу понять как это делается в такой конструкции
bot.on('message', msg => {
if (msg.text == "start") {
....
} else if (msg.text == "send" ) {
bot.getFileLink(file.file_id).then(url => {
cloudinary.uploader.upload(url, function(res) {
files.push(res.url);//1
})
})
} else if (msg.text == "end") {
console.log(‘files = ', files);//2
}
})