Mengapa Kod Saya Tidak Melaksanakan Dalam Panggilan Balik D3.json()?

Susan Sarandon
Lepaskan: 2024-11-01 21:41:02
asal
466 orang telah melayarinya

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

Isu dengan Pelaksanaan Kod dalam Panggilan Balik JSON D3

Masalah:

Dalam versi D3 sebelumnya kepada v5, kod yang ditulis dalam panggilan balik fungsi d3.json() tidak dilaksanakan, menyebabkan penyemak imbas melangkau semua yang disertakan dalam panggilan.

Penyelesaian:

Perubahan Tandatangan dalam D3 v5:

Tandatangan d3.json() telah berubah dalam D3 v5. Ia kini mengembalikan Janji dan bukannya bergantung pada fungsi panggil balik. Argumen kedua kini menjadi objek RequestInit pilihan.

Kod Diubah Suai:

Untuk menyelesaikan isu, tulis semula kod seperti berikut:

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

Pengendalian Ralat:

D3 v5 tidak lagi bergantung pada parameter pertama panggilan balik untuk pengendalian ralat. Sebaliknya, janji yang dikembalikan oleh d3.json() akan ditolak jika ralat berlaku.

Terdapat dua cara utama untuk mengendalikan ralat:

  1. .then() dengan Pengendali Ralat:
d3.json("/trip_animate/tripData.geojson")
  .then(function(data) {
    // Code from your original callback here...
  })
  .catch(function(error) {
    // Error handling code here...
  });
Salin selepas log masuk
  1. .catch() untuk Pengendalian Ralat:
d3.json("/trip_animate/tripData.geojson")
  .then(function(data) {
    // Code from your original callback here...
  }).catch(function(error) {
    // Error handling code here...
  });
Salin selepas log masuk

Dengan melaksanakan perubahan ini, anda boleh memastikan bahawa kod anda dalam panggilan balik d3.json() akan dilaksanakan seperti yang dimaksudkan.

Atas ialah kandungan terperinci Mengapa Kod Saya Tidak Melaksanakan Dalam Panggilan Balik D3.json()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!