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 サイトの他の関連記事を参照してください。