Maison > interface Web > js tutoriel > le corps du texte

Pourquoi mon code ne s'exécute-t-il pas dans le rappel de D3.json() ?

Susan Sarandon
Libérer: 2024-11-01 21:41:02
original
466 Les gens l'ont consulté

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

Problèmes d'exécution de code dans le rappel JSON de D3

Problème :

Dans les versions D3 antérieures vers la v5, le code écrit dans le rappel de la fonction d3.json() ne s'exécutait pas, provoquant le navigateur pour ignorer tout ce qui est inclus dans l'appel.

Solution :

Changement de signature dans D3 v5 :

Le la signature de d3.json() a changé dans D3 v5. Il renvoie désormais une promesse au lieu de s'appuyer sur une fonction de rappel. Le deuxième argument est désormais un objet RequestInit facultatif.

Code modifié :

Pour résoudre le problème, réécrivez le code comme suit :

d3.json("/trip_animate/tripData.geojson")
  .then(function(data) {
    // Code from your original callback here...
  });
Copier après la connexion

Gestion des erreurs :

D3 v5 ne s'appuie plus sur le premier paramètre de le rappel pour la gestion des erreurs. Au lieu de cela, la promesse renvoyée par d3.json() sera rejetée si une erreur se produit.

Il existe deux manières principales de gérer les erreurs :

  1. .then() avec le gestionnaire d'erreur :
d3.json("/trip_animate/tripData.geojson")
  .then(function(data) {
    // Code from your original callback here...
  })
  .catch(function(error) {
    // Error handling code here...
  });
Copier après la connexion
  1. .catch() pour l'erreur Gestion :
d3.json("/trip_animate/tripData.geojson")
  .then(function(data) {
    // Code from your original callback here...
  }).catch(function(error) {
    // Error handling code here...
  });
Copier après la connexion

En implémentant ces modifications, vous pouvez vous assurer que votre code dans le rappel d3.json() s'exécutera comme prévu.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!