Я передаю динамические данные на биржевую диаграмму, как показано в коде ниже, и я получаю сообщение об ошибке.
Я пытался получать данные в течение более длительных периодов времени, и это работает, но мне нужно получать в короткие сроки.
ngDoCheck() {
this._inputPayloads.forEach((elt) => {
if (this.objDiffer[elt.cookieWidget] === undefined) {
this.objDiffer[elt.cookieWidget] = this.differs.find(elt).create<null, null>();
} else {
const objChanges = this.objDiffer[elt.cookieWidget].diff(elt);
if (objChanges !== null) {
if (elt.payload !== undefined && elt.dataServiceType === 'getHistoricalData') {
this.chart.addSeries(this.mapHistoricalData(new HistoricalData().deserialize(JSON.parse(elt.payload))), true);
} else if (elt.payload !== undefined && elt.dataServiceType === 'getRealTimeData') {
const parsedPayload = JSON.parse(elt.payload);
const serieName = parsedPayload.deviceId + '/' + parsedPayload.iobjectId + '/' + parsedPayload.dataId;
const serie = this.chart.series.filter(srie => srie.name === serieName)[0];
if (serie !== undefined) {
console.log(parsedPayload.timestamp, parsedPayload.value);
serie.addPoint([parsedPayload.timestamp, parseFloat(parsedPayload.value)], true);
} else {
console.log(parsedPayload.timestamp, parsedPayload.value);
const seriesPart: any = {
name: serieName,
data: [parsedPayload.timestamp, parseFloat(parsedPayload.value)]
};
this.chart.addSeries(seriesPart, true);
}
}
}
}
});
}
this.chart = Highcharts.stockChart('container' + this.cell.widget.id, {
chart: {
width: null,
height: null
},
rangeSelector: {
selected: 4
},
yAxis: {
plotLines: [{
value: 0,
width: 2,
color: 'silver'
}]
},
plotOptions: {
series: {
compare: 'percent',
showInNavigator: true
}
},
series: [],
});
Я передаю данные каждые 500 миллисекунд. Это пример данных, напечатанных в приведенных выше строках кода console.log:
1. 1559830450655 "133"
2. 1559830451154 "110"
3. 1559830451154 "113"
4. 1559830451655 "100"
5. 1559830451655 "118"
6. 1559830452155 "110"
7. 1559830452155 "133"
8. 1559830452655 "120"
9. 1559830452655 "113"
10. 1559830453153 "125"
11. ...
При увеличении времени до 1000 миллисекунд это работает.