[D3.js]トランジションをpromiseを使って管理する。

タイトルのまんまの内容です。

仕事でデータビジュアライゼーションを作成していると、「AとBの要素のトランジションが完了してから、Bのトランジションを始める」など複雑なアニメーションが必要になることが多々有ります。
複数の要素を動かしつつトランジションを繋ぐのにコールバックでは複雑になりすぎて管理が難しいので、最近はpromiseを使っています。まだ使いこなせていませんが、便利なのでサンプルコードを載せておきます。

example