Heim > Web-Frontend > js-Tutorial > Hauptteil

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

Mary-Kate Olsen
Freigeben: 2024-10-30 15:21:42
Original
380 Leute haben es durchsucht

Why Does My Code Fail to Execute Within d3.json() Callback in D3 v5?

Fehler beim Ausführen von Code in d3.json() Rückruf in D3 v5

In D3 v5 die Ausführung von Code innerhalb von d3. Der Rückruf von json() schlägt häufig fehl. Dies unterscheidet sich vom Verhalten in früheren Versionen, in denen der Rückruf wie erwartet ausgeführt wurde.

Ursache:

Die Signatur von d3.json() wurde gegenüber D3 geändert v4 bis v5. In Version 5 wird die Anfrage mithilfe von Versprechen statt Rückrufen bearbeitet. Das zweite Argument für d3.json() ist kein Callback mehr, sondern ein optionales RequestInit-Objekt.

Lösung:

Um dieses Problem zu beheben, konvertieren Sie den Code innerhalb von Rückruf einer Rückruffunktion, die als Argument an die neue .then()-Methode übergeben wird. Der Code lautet:

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

Fehlerbehandlung:

Die Fehlerbehandlung wurde auch in D3 v5 aktualisiert. In früheren Versionen wurden Fehler mithilfe des ersten Parameters des an d3.json() übergebenen Rückrufs behandelt. In v5 kann das von d3.json() zurückgegebene Versprechen abgelehnt werden, um auf einen Fehler hinzuweisen. Fehler können mit der Methode .catch() erfasst werden.

d3.json("/trip_animate/tripData.geojson")
  .then(function(data) {
    // Code from your original callback goes here...
  })
  .catch(function(error) {
    // Handle the error here...
  });
Nach dem Login kopieren

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

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!