Перед отправкой сообщения дождитесь загрузки образа HeroCard - PullRequest
0 голосов
/ 19 мая 2018

Как я могу убедиться, что изображение загружено перед отправкой сообщения?В настоящее время я использую функцию setTimeout(), чтобы обеспечить более естественное взаимодействие с чатом вместе с session.sendTyping().Это также в некоторой степени гарантирует, что сообщение будет правильно построено перед отправкой, но у меня все еще иногда возникают проблемы с загрузкой изображений.

Изображения размещаются в файлах Azure и доступны через HTTP с помощью ключа SAS.

image not yet loaded

Как показано на рисунке,сообщение возвращает карту героя с пустым изображением. '

Обновление: некоторый код для справки

// The function returns a message object with either a Hero Card or a text string 
function addImgToMsg(table) {
    let msg = new builder.Message(session);
    let mainCard = new builder.HeroCard(session);

    // Check if the given DB entry has an image link
    if (table.img) {
        mainCard.images([
            builder.CardImage.create(session, 'link_to_my_image')
        ]);
    }

    // Attach the Hero Card to the message if has gotten any content
    if (mainCard.data.content.images) {
        msg.attachmentLayout(builder.AttachmentLayout.carousel);
        msg.attachments([mainCard]);
    } else {
        msg.text('No was image provided.')
    }

    return msg;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...