решить проблему так и не нашел
                  
                  
                  
                  
                  
                  создал сцену с помощью телеграфа, в 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)
                  
                  
                        })  
                  
                  
                      }) 
                  
                  
                  })
                  
                  
                
тут бы ссылку на гит какой-нибудь
Обсуждают сегодня