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

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

Mary-Kate Olsen
Libérer: 2024-10-30 15:21:42
original
380 Les gens l'ont consulté

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

Échec de l'exécution du code à l'intérieur de d3.json() Rappel dans D3 v5

Dans D3 v5, l'exécution du code dans le d3. Le rappel json() échoue souvent. Cela diffère du comportement des versions précédentes où le rappel était exécuté comme prévu.

Cause :

La signature de d3.json() a subi une modification par rapport à D3 v4 à v5. Dans la version 5, la requête est traitée à l'aide de promesses plutôt que de rappels. Le deuxième argument de d3.json() n'est plus un rappel mais un objet RequestInit facultatif.

Solution :

Pour résoudre ce problème, convertissez le code dans le rappel à une fonction de rappel passée en argument à la nouvelle méthode .then(). Le code devient :

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

Gestion des erreurs :

La gestion des erreurs a également été mise à jour dans D3 v5. Dans les versions précédentes, les erreurs étaient gérées à l'aide du premier paramètre du rappel passé à d3.json(). Dans la v5, la promesse renvoyée par d3.json() peut être rejetée pour indiquer une erreur. Les erreurs peuvent être capturées à l'aide de la méthode .catch().

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

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!