node.js - tableSvc.retrieveEntity 检索以前版本的 Azure 表存储数据
问题描述
我在 Bot Framework SDK3 中有一个对话框瀑布,每个对话框都会做一些事情,直到它切换到与 tableSvc.retrieveEntity 的对话框,它正确地识别了需要从 Azure 表中检索的实体(根据给定的 PartionKey 和 RowKey)......
...但是被检索的实体(我用 console.log('Result') 检查它已经过时了(一步 [几秒钟,在用户与机器人的对话期间通过] 在 Azure 表中存储的实际数据之后- 需要在此对话框中检索的真实数据...)
对话尚未结束(稍后会) - 在此阶段存储和检索实际数据很重要......
如何在此对话框中获取实际数据?
解决方案
好吧,对于那些有类似问题的人......我想,这与 Node.js 的事件循环有关......
我不确定它是一个防弹解决方案,还是一个临时的“黑客”,但我这样说并且它有效(当我尝试使用 setTimeout 0 ms - 它对我不起作用,当我设置它到 500 毫秒 - 它可以工作,所以我想 1000 毫秒可能是一个安全的临时破解..在我找到更好的解决方案之前)..
如果有人知道更好、更强大的解决方案,请更新此线程。
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);
推荐阅读
- python - 在 Pyspark 和 Pandas 中映射具有实际间隔的字典作为键
- python - 如何从数据框中获取每个月的最后一天并从数据框中删除其余日期?
- ios - 如何将委托函数的响应传递给 Swift 中的颤动?
- wordpress - WordPress 克隆损坏
- javascript - 使用 html2canvas 捕获的 HTML div 未满
- memory-management - (操作系统)计算页码和页偏移量
- python - 如何获取函数参数类型?
- asynchronous - 对 DB 的调用卡在 await 上(但在从 Blazor 组件调用时有效)
- javascript - Div 的内容与另一个 Div 内容自动缩放
- powershell-5.1 - PowerShell如何以CSV的形式呈现函数参数