ホームページ > 記事 > ウェブフロントエンド > コードが D3.json() のコールバック内で実行されないのはなぜですか?
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 つの方法があります:
d3.json("/trip_animate/tripData.geojson") .then(function(data) { // Code from your original callback here... }) .catch(function(error) { // Error handling code here... });.catch() エラー処理用:
以上がコードが D3.json() のコールバック内で実行されないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。