2017-07-28 65 views
1

我想建立自己的數據源來顯示Grafana圖中的數據。現在,我在grafana中測試這個假的簡單json,找出這些東西是如何在幕後工作的。我有這樣的代碼,查詢數據我想告訴在grafana:開發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)

我如何可以訪問泰斯特$$ state.value.data [ 「0」]。datapoints [「0」]例如?

如果我試圖訪問teste或teste。$$狀態,沒關係。但是當我嘗試teste。$$ state.pur或者teste。$$狀態樹中的任何屬性時,我得到了一個未定義的響應。

回答

2

林很肯定你的要求是異步,所以要檢查你需要使用一個回調的結果:

var teste = this.doRequest({ 
    url: this.url + '/query', 
    data: query, 
    method: 'POST' 
}, function(result){ 
    console.log(result) <----- 
}); 

then如果返回的承諾:

var teste = this.doRequest({ 
    url: this.url + '/query', 
    data: query, 
    method: 'POST' 
}).then(function(result){ 
    console.log(result) <----- 
});