"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Por qué mi código no se ejecuta dentro de la devolución de llamada d3.json () \?

¿Por qué mi código no se ejecuta dentro de la devolución de llamada d3.json () \?

Publicado el 2025-03-25
Navegar:347

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

con la ejecución de código dentro de la devolución de llamada de D3 JSON

Problema:

Versiones D3 antes de v5, el código escrito dentro del callback de la call. la llamada.

solución:

El cambio de firma en d3 v5:

la firma de d3.json () ha cambiado en d3 v5. Ahora devuelve una promesa en lugar de confiar en una función de devolución de llamada. El segundo argumento ahora es un objeto de requestsInit opcional.

modificado Código:

para resolver el problema, reescribir el código de la siguiente manera:

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

Error manejo:

d3 v5 ya no se basa en el primer parámetro de la devolución de llamada para el manejo de errores. En su lugar, la promesa devuelta por d3.json () será rechazada si ocurre un error.

hay dos formas principales de manejar errores:

  1. . Entonces () con manejo de errores:
  2. [&] d3.json ("/trip_animate/trip_anime .Then (función (datos) { // código desde su devolución de llamada original aquí ... }) .Catch (función (error) { // Código de manejo de errores aquí ... });
d3.json("/trip_animate/tripData.geojson")
  .then(function(data) {
    // Code from your original callback here...
  })
  .catch(function(error) {
    // Error handling code here...
  });
    . Catch () para el manejo de errores:
  1. d3.json ("/trip_animate/tripData.geojson") .Then (función (datos) { // código desde su devolución de llamada original aquí ... }). Catch (function (error) { // Código de manejo de errores aquí ... });
d3.json("/trip_animate/tripData.geojson")
  .then(function(data) {
    // Code from your original callback here...
  }).catch(function(error) {
    // Error handling code here...
  });
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3