timeline.js という非同期処理連携用ライブラリを作成
2012年2月2日
timeline.js
timeline.js という非同期処理同士を連携させるライブラリを書きました
ライブラリの主な目的は以下の2点です
- 1. 非同期処理同士の分離性を高めること
- 2. 連携状況をわかり易くすること
作った直接の理由は
「アニメAとBが終わったらCを実行して
Cが終わったらXとYとZを1秒ずらして実行して
その3つが終わったらムービー終了」
・・・とこのような複雑な非同期処理の絡み合いを、後で読めるように書くためです
なお、JSDeferred に超依存しています
使い方の例
var timeline = Timeline.factory();
var layer1 = timeline.createLayer();
var layer2 = timeline.createLayer();
var layer3 = timeline.createLayer();
var layer4 = timeline.createLayer();
layer1.onstart(function(){ /*非同期処理*/ });
layer2.onstart(function(){ /*非同期処理*/ });
layer3.onstart(function(){ /*非同期処理*/ });
layer4.onstart(function(){ /*非同期処理*/ });
// 1秒後にlayer1を実行し、終わったら2と3を同時実行し
// 2と3の両方が終わったら4を実行する
layer1.on(1000);
layer2.after(layer1);
layer3.after(layer1);
layer4.after(layer2);
layer4.after(layer3);
timeline.start();
ダウンロードなど
timeline.js の紹介ページ からどうぞ