Heim  >  Artikel  >  Web-Frontend  >  Warum wird mein Code nicht innerhalb des d3.json()-Rückrufs in D3 v5 ausgeführt?

Warum wird mein Code nicht innerhalb des d3.json()-Rückrufs in D3 v5 ausgeführt?

DDD
DDDOriginal
2024-11-03 02:45:03730Durchsuche

Why Isn't My Code Executing Inside the d3.json() Callback in D3 v5?

Code wurde nicht in D3 ausgeführt.json() Rückruf

Frage:

In D3 v5, der in der Callback-Funktion von d3.json() geschriebene Code wird nicht ausgeführt. Im Rückruf platzierte Konsolenprotokolle werden übersprungen, wodurch die weitere Ausführung des Skripts verhindert wird.

Antwort:

D3 v5 führt eine wesentliche Änderung in der Signatur von d3.json ein (). Die zur Bearbeitung der Anfrage verwendete Rückruffunktion wurde durch ein optionales RequestInit-Objekt ersetzt. Stattdessen gibt d3.json() jetzt ein Promise zurück, das mit seiner .then()-Methode verarbeitet werden kann.

Um das Problem zu beheben, aktualisieren Sie Ihren Code wie folgt:

d3.json("/trip_animate/tripData.geojson")
  .then(function(data){
    // Code from your callback goes here...
  });

Die Der Fehlerbehandlungsmechanismus hat sich in D3 v5 ebenfalls geändert. Die Fehlerbehandlung sollte nun mit der .catch()-Methode von Promise oder durch Übergabe eines Ablehnungshandlers an .then() als zweites Argument erfolgen.

Das obige ist der detaillierte Inhalt vonWarum wird mein Code nicht innerhalb des d3.json()-Rückrufs in D3 v5 ausgeführt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn