Я использую 3 региона и использую конфигурацию aws для вывода меток времени и среднего.
Но я не понимаю, почему у меня в выводе пустой массив.
Я добавляю другую конфигурацию, совместно использую объект cw и детали метода getMetricStatistics.
Я не понимаю метод ответного асинхронного вызова
Спасибо за помощь
var arr = [
{ "region": "eu-west", "value": "http://****" },
{ "region": "eu-west", "value": "http://****" },
{ "region": "eu-west", "value": "http://****" },
] ;
var GlobalTab = [];
var r=-1;
while ( arr[++r] ) {
var region= arr[r].region; //test
var Value = arr[r].value ; //test
cw.getMetricStatistics(params, function(err, data) {
if (err){
console.log(err, err.stack); // an error occurred
}
else {
var TabJSON = [];
for(var i=0;i<5;i++) {
TabJSON.push(data.Datapoints[i]);
}
GlobalTab.push(TabJSON);
function foo(){
return new Promise( (resolve, reject) => {
setTimeout ( function(){
resolve(GlobalTab)//
}, 1000 )
})
}
}
});
}
console.log(GlobalTab); //error empty array
let bar ;
foo().then( res => {
bar = res;
console.log(bar) //
});
Ожидаемый результат:
[[{Timestamp: 2019-01-15T08:26:00.000Z, Average: 200},
{Timestamp: 2019-01-15T08:32:00.000Z, Average: 200},
{Timestamp: 2019-01-15T08:26:00.000, Average: 200},
{Timestamp: 2019-01-15T08:29:00.000Z, Average: 200},
{Timestamp: 2019-01-15T08:35:00.000Z, Average: 200}],
[{Timestamp: 2019-01-15T08:26:00.000Z, Average: 200},
{Timestamp: 2019-01-15T08:32:00.000Z, Average: 200},
{Timestamp: 2019-01-15T08:26:00.000, Average: 200},
{Timestamp: 2019-01-15T08:29:00.000Z, Average: 200},
{Timestamp: 2019-01-15T08:35:00.000Z, Average: 200}],
[{Timestamp: 2019-01-15T08:26:00.000Z, Average: 200},
{Timestamp: 2019-01-15T08:32:00.000Z, Average: 200},
{Timestamp: 2019-01-15T08:26:00.000, Average: 200},
{Timestamp: 2019-01-15T08:29:00.000Z, Average: 200},
{Timestamp: 2019-01-15T08:35:00.000Z, Average: 200}]]