2017-03-03 6 views
0

Ich arbeite mit Highcharts, ich möchte Highcharts Serie von meinem Web-Mitarbeiter zu aktualisieren. Mein Web-Mitarbeiter empfängt Daten von meinem API über xmlhttprequest. Ich möchte mein Diagramm aktualisieren, ohne die Webseite zu aktualisieren. Wie kann ich diese Daten an Highcharts-Serien weitergeben?Wie kann ich Daten von meinem Webworker zu Highchart geben

+0

Das hängt wirklich von Ihrem Datenformat ab, das Sie erhalten und wenn Sie die vorhandenen Daten im Diagramm vollständig überschreiben oder einfach Datenpunkte aktualisieren und/oder neue Datenpunkte hinzufügen möchten. – wergeld

+0

Ich bekomme JSON zurück und möchte nur die Punkte aktualisieren. Sein Liniendiagramm Ich möchte die Linie nach Daten verschieben –

+0

Wenn sich Ihre xAxis nicht ändert, können Sie 'series.setData' - http://api.highcharts.com/highcharts/Series.setData verwenden. – wergeld

Antwort

0

Sie müssen das Ereignis onMessage verwenden und Nachrichten vom Worker an den Client senden. Nachrichten sollten stringyfied Objekt oder Arrays sein.

In Ihrem Haupt-Code:

var worker = new Worker('w/main-worker.js'); 
worker.postMessage('message to worker'); 

worker.onmessage = function(e) { 
    console.log(e.data); 
    // do stuff with data from worker 
}; 

In Ihrem Arbeiter:

// do stuff 
// when stuff is ready 
postMessage(myStuff); 

// handle messages from the main thread 
onmessage = function(e) { 
    console.log(e.data); 
    // do stuff with message from main thread 
}; 

Ich habe einige Demos hier: https://github.com/mchaov/WebWorkers Es gibt Demos für ähnlichen Anwendungsfall wie bei Ihnen.

Verwandte Themen