Heim > Web-Frontend > js-Tutorial > Hauptteil

Warum wird mein Code im Rückruf von D3.json() nicht ausgeführt?

Susan Sarandon
Freigeben: 2024-11-01 21:41:02
Original
466 Leute haben es durchsucht

Why Is My Code Not Executing Within D3.json()'s Callback?

Probleme mit der Codeausführung im JSON-Callback von D3

Problem:

In früheren D3-Versionen Bis v5 wurde der im Rückruf der d3.json()-Funktion geschriebene Code nicht ausgeführt, was dazu führte, dass der Browser alles übersprang, was im Aufruf enthalten war.

Lösung:

Signaturänderung in D3 v5:

Die Signatur von d3.json() hat sich in D3 v5 geändert. Es gibt jetzt ein Promise zurück, anstatt sich auf eine Rückruffunktion zu verlassen. Das zweite Argument ist jetzt ein optionales RequestInit-Objekt.

Geänderter Code:

Um das Problem zu beheben, schreiben Sie den Code wie folgt um:

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

Fehlerbehandlung:

D3 v5 verlässt sich bei der Fehlerbehandlung nicht mehr auf den ersten Parameter des Rückrufs. Stattdessen wird das von d3.json() zurückgegebene Versprechen abgelehnt, wenn ein Fehler auftritt.

Es gibt zwei primäre Möglichkeiten, mit Fehlern umzugehen:

  1. .then() mit Fehlerbehandlung:
d3.json("/trip_animate/tripData.geojson")
  .then(function(data) {
    // Code from your original callback here...
  })
  .catch(function(error) {
    // Error handling code here...
  });
Nach dem Login kopieren
  1. .catch() für Fehlerbehandlung:
d3.json("/trip_animate/tripData.geojson")
  .then(function(data) {
    // Code from your original callback here...
  }).catch(function(error) {
    // Error handling code here...
  });
Nach dem Login kopieren

Durch Implementierung Durch diese Änderungen können Sie sicherstellen, dass Ihr Code innerhalb des d3.json()-Rückrufs wie vorgesehen ausgeführt wird.

Das obige ist der detaillierte Inhalt vonWarum wird mein Code im Rückruf von D3.json() nicht ausgeführt?. 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!