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... });
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... });
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!