ホームページ  >  記事  >  ウェブフロントエンド  >  D3 v5 の d3.json() コールバック内でコードの実行が失敗するのはなぜですか?

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

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-30 15:21:42381ブラウズ

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

D3 v5 での d3.json() コールバック内のコード実行の失敗

D3 v5 では、d3 内のコードの実行。 json() コールバックは失敗することがよくあります。これは、コールバックが期待どおりに実行された以前のバージョンの動作とは異なります。

原因:

d3.json() の署名が D3 から変更されました。 v4からv5へ。 v5 では、リクエストはコールバックではなく Promise を使用して処理されます。 d3.json() の 2 番目の引数はコールバックではなく、オプションの RequestInit オブジェクトになりました。

解決策:

この問題を解決するには、新しい .then() メソッドに引数として渡されるコールバック関数へのコールバック。コードは次のようになります:

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

エラー処理:

エラー処理も D3 v5 で更新されました。以前のバージョンでは、エラーは d3.json() に渡されるコールバックの最初のパラメーターを使用して処理されました。 v5 では、d3.json() によって返される Promise がエラーを示すために拒否される場合があります。エラーは .catch() メソッドを使用してキャプチャできます。

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

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

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