我想构建自己的数据源以在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。$$ state,那就可以了。但是当我尝试teste。$$ state.pur或teste。$$ state树中的任何属性时,我得到了未定义的响应。
最佳答案
我非常确定您的请求是异步的,因此要检查结果,您需要使用回调:
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) <-----
});