开发Grafana数据源

时间:2017-07-28 14:40:53

标签: javascript datasource grafana

我想构建自己的数据源以在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。$$状态树中的任何属性时,我得到了一个未定义的响应。

1 个答案:

答案 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) <-----
});