Rumah  >  Artikel  >  hujung hadapan web  >  Mengapa Kod Saya Dalam Panggilan Balik d3.json() Tidak Melaksanakan?

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

DDD
DDDasal
2024-10-30 12:32:141036semak imbas

Why Is My Code Within the d3.json() Callback Not Executing?

Kod dalam d3.json() Panggilan Balik Tidak Dilaksanakan

Penjelasan

Dalam D3 v5, tandatangan d3.json() telah berubah dengan ketara berbanding versi sebelumnya. Daripada menggunakan fungsi panggil balik, d3.json() kini mengembalikan Promise yang boleh dikendalikan menggunakan kaedah .then()nya. Perubahan ini menangani beberapa isu dengan pelaksanaan lama dan membawa D3 sejajar dengan API penyemak imbas moden.

Penyelesaian

Untuk menyelesaikan isu di mana kod dalam panggilan balik d3.json() tidak dilaksanakan, anda perlu mengemas kini kod anda untuk menggunakan Promises. Sintaks baharu untuk memuatkan data daripada fail GeoJSON adalah seperti berikut:

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

Mengendalikan Ralat

Selain menukar struktur panggil balik, D3 v5 juga memperkenalkan cara baharu untuk mengendalikan ralat semasa memuatkan data. Daripada menghantar pengendali ralat sebagai parameter pertama kepada fungsi panggil balik, anda harus menggunakan kaedah .catch() Promise:

d3.json("/trip_animate/tripData.geojson")
  .then(function(data) {
    // Code from your callback goes here...
  })
  .catch(function(error) {
    // Do some error handling.
  });

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

Kenyataan:
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