"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Por que meu código não está executando dentro do retorno de chamada de D3.json ()?

Por que meu código não está executando dentro do retorno de chamada de D3.json ()?

Postado em 2025-03-25
Navegar:928

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

emitidos com a execução do código no retorno de chamada JSON JSON do D3

Problem:

em d3 versões anteriores a V5, código escrito em não No Call.

Solução:

Mudança de assinatura no d3 v5:

A assinatura de d3.json () mudou em d3 v5. Agora ele retorna uma promessa em vez de confiar em uma função de retorno de chamada. O segundo argumento agora é um objeto opcional requestInit. .Then (function (dados) { // Código do seu retorno de chamada original aqui ... });

Manipulação de erros:

d3 v5 não se baseia mais no primeiro parâmetro do retorno de chamada para manipulação de erros. Em vez disso, a promessa retornada por d3.json () será rejeitada se ocorrer um erro. .Then (function (dados) { // Código do seu retorno de chamada original aqui ... }) .catch (function (erro) { // Código de manuseio de erros aqui ... });

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

. Catch () para manipulação de erros:

d3.json ("/trip_animate/tripdda.geojson") .Then (function (dados) { // Código do seu retorno de chamada original aqui ... }). Catch (function (erro) { // Código de manuseio de erros aqui ... });

Ao implementar essas alterações, você pode garantir que seu código dentro do retorno de chamada d3.json () seja executado conforme o intencional.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3