tableSvc.retrieveEntity извлекает данные предыдущей версии хранилища таблиц Azure - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть водопад диалогов в Bot Framework SDK3, каждый диалог что-то делает, пока не переключится на диалог с таблицей tableSvc.retrieveEntity, который правильно идентифицирует обязательную для извлечения сущность (в соответствии с заданным PartionKey & RowKey) из таблицы Azure..

... но полученная сущность (я проверяю ее с помощью console.log ('Result') устарела (один шаг [несколько секунд, который проходит во время разговора пользователя с ботом) позадифактические данные, хранящиеся в таблицах Azure - реальные данные, которые необходимо получить в этом диалоговом окне ...)

Разговор еще не закрыт (это будет позже) - важно сохранять и извлекать актуальныеданные на этом этапе ...

Как получить фактические данные в этом диалоговом окне?

1 Ответ

0 голосов
/ 20 ноября 2018

Ну, для тех из вас, у кого была похожая проблема ... Я думаю, это связано с циклом событий Node.js ...

Я не уверен, что это пуля.доказательство решения, или временный «взлом», но я поставил это так, и это работает (когда я пытаюсь использовать setTimeout 0 мс - это не работает для меня, когда я устанавливаю его на 500 мс - это работает, поэтому я думаю, 1000ms может быть безопасным временным взломом .. прежде чем я найду лучшее решение) ..

Если кто-то знает лучшее, более надежное решение, пожалуйста, обновите эту ветку.

setTimeout( () => {
      tableSvc.retrieveEntity('table', pkey, rkey, funcdtion(error, result, response) {
        if(!error) {
          var res1 = result.Data._;
          console.log(res1); // Now it prints actual data stored in 'table' - which I really need, and not its previous (outdated) version
        } else {
          console.log('Some error happened...');
        };
      });
}, 1000);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...