Для вывода данных (дата и цена) на график курса акций, полученных через API Мосбиржи, использую этот код:
(async () => { // асинхронная функция
for (start = 0;; start += 500) {
let url = 'https://iss.moex.com/iss/engines/stock/markets/shares/boards/TQBR/securities/SBER/candles.json?interval=24&start=' + start;
let response = await fetch(url);
let data = await response.json();
let formattedData = data.candles.data.map(item => ({ // благодаря объекту map вывожу на график каждый элемент массива
time: item[7].split(" ")[0],
value: item[1],
}));
let Itemlength = data['candles']['data'].length
if (Itemlength < 500) break; // пока не достигнут последний блок данных (их меньше 500), параметр start в url увеличивается на 500
areaSeries.setData(formattedData) // функция графика
}
})();
Однако по этому url выдается только 500 значений и для получения полного объема данных нужно увеличивать параметр start в url, на 500 при каждой итерации. Этот код выдает мне только последний блок данных.
Как можно изменить цикл, чтобы вывести все данные на график?