【D3.js】複数のデータファイルの読み込み(非同期処理)をまとめる

最終更新日

ダウンロード

d3で複数のデータファイル(jsonやcsv)を読み込む場合、以下のようにコールバック地獄に陥りやすいです。

まぁ、そんなに一度に大量のファイルを読み込むことはそうないんですが、コールバックが入れ子になるのはあまりうれしくないので、データセットをまとめて読み込む関数を作成してみました。

ファイル名(データセット)を収めた配列とコールバックを渡すと、配列の頭からデータを読み込んで最後にコールバックを実行します。
コールバックの引数には、読み込んだデータセットを全てまとめたデータが渡されます。

他、オプション指定。

ちゃんとやるなら、queueとかasync.jsなどを使った方がいいんでしょうけどね。