我想构建自己的数据源以在grafana图中显示数据。现在,我在grafana中测试假的简单json,以弄清楚幕后的工作原理。我有这个代码,它查询我想在grafana中显示的数据:
query(options) {
var query = this.buildQueryParameters(options);
query.targets = query.targets.filter(t => !t.hide);
if (query.targets.length <= 0) {
return this.q.when({data: []});
}
console.log('query Return: ');
console.log(this.doRequest({url: this.url + '/query',data: query,method: 'POST'}));
console.log('\n');
var teste = this.doRequest({
url: this.url + '/query',
data: query,
method: 'POST'
});
console.log('teste Return: ');
console.log(teste);
console.log('\n');
return teste;
}
而且,我收到了回报: result of console.log(teste)
如何访问teste。$$ state.value.data [“0”]。datapoints [“0”]例如?
如果我试图访问teste或teste。$$状态,那没关系。但是当我尝试teste。$$ state.pur或者teste。$$状态树中的任何属性时,我得到了一个未定义的响应。
答案 0 :(得分:2)
我非常确定您的请求是异步的,因此要检查您需要使用回调的结果:
var teste = this.doRequest({
url: this.url + '/query',
data: query,
method: 'POST'
}, function(result){
console.log(result) <-----
});
或then如果返回Promise:
var teste = this.doRequest({
url: this.url + '/query',
data: query,
method: 'POST'
}).then(function(result){
console.log(result) <-----
});