旧それなりブログの跡地、画像やスタイルやJSなどが壊れてることがあります。

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 の紹介ページ からどうぞ