コードが D3.json() のコールバック内で実行されないのはなぜですか?

Susan Sarandon
リリース: 2024-11-01 21:41:02
オリジナル
466 人が閲覧しました

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

D3 の JSON コールバック内のコード実行の問題

問題:

以前の D3 バージョンv5 では、d3.json() 関数のコールバック内に記述されたコードが実行されず、ブラウザが呼び出しに含まれるすべてをスキップしていました。

解決策:

D3 v5 での署名の変更:

d3.json() の署名が D3 v5 で変更されました。コールバック関数に依存する代わりに Promise を返すようになりました。 2 番目の引数はオプションの RequestInit オブジェクトになりました。

修正コード:

問題を解決するには、コードを次のように書き換えます:

d3.json("/trip_animate/tripData.geojson")
  .then(function(data) {
    // Code from your original callback here...
  });
ログイン後にコピー

エラー処理:

D3 v5 は、エラー処理のコールバックの最初のパラメーターに依存しなくなりました。代わりに、エラーが発生した場合、d3.json() によって返された Promise は拒否されます。

エラーを処理するには、主に 2 つの方法があります:

  1. .then()エラーハンドラ付き:
d3.json("/trip_animate/tripData.geojson")
  .then(function(data) {
    // Code from your original callback here...
  })
  .catch(function(error) {
    // Error handling code here...
  });
ログイン後にコピー
.catch() エラー処理用:
  1. を実装することによりこれらの変更により、d3.json() コールバック内のコードが意図したとおりに実行されることを確認できます。

以上がコードが D3.json() のコールバック内で実行されないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!