我想通过odata
. 所以https://uipathspace.com/odata/Robots
返回所有的机器人。
但是当我改变我的机器人描述时:
并刷新https://uipathspace.com/odata/Robots
。它正确显示了更新的文本:
但是我使用 node.js Orchestrator 实现创建了一个应用程序。在这里我看不到描述的变化:
是否有一些硬核缓存,如果有,如何禁用它?我找不到那个设置。
我想通过odata
. 所以https://uipathspace.com/odata/Robots
返回所有的机器人。
但是当我改变我的机器人描述时:
并刷新https://uipathspace.com/odata/Robots
。它正确显示了更新的文本:
但是我使用 node.js Orchestrator 实现创建了一个应用程序。在这里我看不到描述的变化:
是否有一些硬核缓存,如果有,如何禁用它?我找不到那个设置。
问题是res.send
被放在回调之外。所以它永远不会等待 REST api 调用的实际完成。
这是它只获取第一个请求的静态结果的基本代码,它从未更新结果:
app.get('/robots', function (req, res) {
...
var orchestrator = require('./authenticate');
var results = {};
var apiQuery= {};
orchestrator.get('/odata/Robots', apiQuery, function (err, data) {
for (row in data) {
results[i] =
{
'id' : row.id,
...
};
}
});
return res.send({results});
});
解决方案是将移入,然后res.send({results});
在orchestrator.get
正确等待回调时正确覆盖结果:
app.get('/robots', function (req, res) {
...
var orchestrator = require('./authenticate');
var results = {};
var apiQuery= {};
orchestrator.get('/odata/Robots', apiQuery, function (err, data) {
for (row in data) {
results[i] =
{
'id' : row.id,
...
};
}
return res.send({results});
});
});