ホームページ >ウェブフロントエンド >jsチュートリアル >D3 v5 の d3.json() コールバック内でコードが実行されないのはなぜですか?

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

DDD
DDDオリジナル
2024-11-03 02:45:03772ブラウズ

Why Isn't My Code Executing Inside the d3.json() Callback in D3 v5?

D3.json() コールバック内でコードが実行されません

質問:

D3 内v5 では、d3.json() のコールバック関数内に記述されたコードが実行されません。コールバック内に配置されたコンソール ログはスキップされ、それ以降のスクリプトの実行が妨げられます。

回答:

D3 v5 では、d3.json の署名に大幅な変更が導入されています。 ()。リクエストの処理に使用されるコールバック関数は、オプションの RequestInit オブジェクトに置き換えられました。代わりに、d3.json() は .then() メソッドを使用して処理できる Promise を返すようになりました。

問題を解決するには、コードを次のように更新します。

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

エラー処理メカニズムも D3 v5 で変更されました。エラー処理は、Promise の .catch() メソッドを使用するか、拒否ハンドラーを .then() の 2 番目の引数として渡すことによって行う必要があります。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。