Я хочу создать собственный источник данных для отображения данных на графике графаны. Теперь я тестирую поддельный простой 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;
}
И я получаю этот возврат: результат console.log(teste)
Как я могу получить доступ к teste. $$ state.value.data ["0"]. Datapoints ["0"] например?
Если я попытался получить доступ к teste или teste. Состояние $$, это нормально. Но когда я пытаюсь teste. $$ state.pur или любые атрибуты в teste. Дерево состояний $$ У меня есть неопределенный ответ.
Я уверен, что ваш запрос асинхронный, поэтому для проверки результатов вам нужно использовать обратный вызов:
var teste = this.doRequest({
url: this.url + '/query',
data: query,
method: 'POST'
}, function(result){
console.log(result) <-----
});
или тогда, если возвращается Обещание:
var teste = this.doRequest({
url: this.url + '/query',
data: query,
method: 'POST'
}).then(function(result){
console.log(result) <-----
});