AsyncQueue
YUI 3: AsyncQueue を使うと、指定した処理を順番に非同期実行するキューを作成できます。setTimeoutでリストに追加された関数を順番に実行する、といったら分かりやすいかな。
以下はYUI 3: AsyncQueue を使って押されたキーを表示するサンプルです。高速で連打しても100msごとに順に出力されます。
// 非同期キューのサンプル YUI().use('async-queue','event-key', function(Y) { var q = new Y.AsyncQueue(); q.defaults.timeout = 100; // 100msごとにキュー内の処理を実行。 // キーが押されたらキューに処理を積む。 var out = document.getElementById("out"); Y.on("key", function(e) { q.add(function() { out.innerHTML += String.fromCharCode(e.keyCode); }); q.run(); }); });