In D3 v5 hat sich die Signatur von d3.json() erheblich geändert im Vergleich zu seinen Vorgängerversionen. Anstatt eine Callback-Funktion zu verwenden, gibt d3.json() jetzt ein Promise zurück, das mit seiner .then()-Methode verarbeitet werden kann. Diese Änderung behebt mehrere Probleme mit der alten Implementierung und bringt D3 in Einklang mit modernen Browser-APIs.
Um das Problem zu beheben, bei dem Code im d3.json()-Rückruf nicht ausgeführt wird, Sie müssen Ihren Code aktualisieren, um Promises verwenden zu können. Die neue Syntax zum Laden von Daten aus einer GeoJSON-Datei lautet wie folgt:
d3.json("/trip_animate/tripData.geojson") .then(function(data) { // Code from your callback goes here... });
Zusätzlich zur Änderung der Rückrufstruktur führt D3 v5 auch neue Möglichkeiten zur Fehlerbehandlung beim Laden ein Daten. Anstatt einen Fehlerhandler als ersten Parameter an die Callback-Funktion zu übergeben, sollten Sie die .catch()-Methode des Promise:
d3.json("/trip_animate/tripData.geojson") .then(function(data) { // Code from your callback goes here... }) .catch(function(error) { // Do some error handling. });
Das obige ist der detaillierte Inhalt vonWarum wird mein Code im d3.json()-Rückruf nicht ausgeführt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!