Mengapa Kod Saya Gagal Dilaksanakan Dalam Panggilan Balik d3.json() dalam D3 v5?

Mary-Kate Olsen
Lepaskan: 2024-10-30 15:21:42
asal
380 orang telah melayarinya

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

Gagal Melaksanakan Kod Di Dalam d3.json() Panggilan balik dalam D3 v5

Dalam D3 v5, pelaksanaan kod dalam d3. json() panggil balik sering gagal. Ini berbeza daripada gelagat dalam versi sebelumnya di mana panggilan balik telah dilaksanakan seperti yang dijangkakan.

Punca:

Tandatangan d3.json() telah mengalami perubahan daripada D3 v4 hingga v5. Dalam v5, permintaan dikendalikan menggunakan janji dan bukannya panggilan balik. Argumen kedua kepada d3.json() bukan lagi panggilan balik tetapi objek RequestInit pilihan.

Penyelesaian:

Untuk menyelesaikan isu ini, tukar kod dalam panggil balik kepada fungsi panggil balik diluluskan sebagai hujah kepada kaedah .then() baharu. Kod tersebut menjadi:

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

Pengendalian Ralat:

Pengendalian ralat juga telah dikemas kini dalam D3 v5. Dalam versi sebelumnya, ralat telah dikendalikan menggunakan parameter pertama panggilan balik yang dihantar kepada d3.json(). Dalam v5, janji yang dikembalikan oleh d3.json() mungkin ditolak untuk menunjukkan ralat. Ralat boleh ditangkap menggunakan kaedah .catch().

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

Atas ialah kandungan terperinci Mengapa Kod Saya Gagal Dilaksanakan Dalam Panggilan Balik d3.json() dalam D3 v5?. 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!