решить проблему так и не нашел
создал сцену с помощью телеграфа, в on message у меня асинхронная загрузка фото в ней в массив добавляются ответы, в hears для end у меня вывод этого массива.
проблема - если в одном сообщении отправить много фото, а потом сразу набрать`end`, то в files могут отразиться не все фото, тк они не успели загрузиться на сервер и соответственно не были добавлены в массив
вопрос: как отложить выполнение функции в end до полной загрузки всех фото?
код выглядит вот так
greeterScene.leave((ctx) => {
console.log("files on leave =", files)
})
greeterScene.on('message', (ctx) => {
telegram.getFileLink(ctx.update.message.photo[0].file_id).then(url => {
cloudinary.uploader.upload(url, function(res) {
files.push(res.url)
})
})
})
тут бы ссылку на гит какой-нибудь
Обсуждают сегодня