Maison > Article > interface Web > Pourquoi mon code dans le rappel d3.json() ne s'exécute-t-il pas ?
Dans D3 v5, la signature de d3.json() a considérablement changé par rapport à ses versions précédentes. Au lieu d'utiliser une fonction de rappel, d3.json() renvoie désormais une promesse qui peut être gérée à l'aide de sa méthode .then(). Ce changement résout plusieurs problèmes avec l'ancienne implémentation et met D3 en conformité avec les API des navigateurs modernes.
Pour résoudre le problème où le code dans le rappel d3.json() n'est pas exécuté, vous devez mettre à jour votre code pour utiliser Promises. La nouvelle syntaxe de chargement des données à partir d'un fichier GeoJSON est la suivante :
d3.json("/trip_animate/tripData.geojson") .then(function(data) { // Code from your callback goes here... });
En plus de modifier la structure de rappel, D3 v5 introduit également de nouvelles façons de gérer les erreurs lors du chargement. données. Au lieu de transmettre un gestionnaire d'erreurs comme premier paramètre à la fonction de rappel, vous devez utiliser la méthode .catch() de Promise :
d3.json("/trip_animate/tripData.geojson") .then(function(data) { // Code from your callback goes here... }) .catch(function(error) { // Do some error handling. });
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!