DBサーバに大量のリクエストを出すときなど、PHPのsleepみたいな関数がほしくなる。
でもFlexはイベントドリブン型の言語なのでそんな関数は無いし、もしなんとか自作しても、将来もまともに動く保障がない。
ネットで調べてみると、色々な人が挑戦しているようだ。中には空のwhileを使って処理待ち状態を作っている方もいる。まるでBasic時代のように。
待ち後の処理を関数にして、timerを使って呼び出す方法を考えてみた。
(ちなみに、呼び出し対象が引数を取り、TimerEventを受け取る必要の無い場合。それ以外は要修正)
1 2 3 4 5 6 7 8 | var timer:Timer = new Timer( 1000 , 1 ); // 一秒後に一回だけ実行。 timer.addEventListener( TimerEvent.TIMER, function (tevent:TimerEvent): void { add_price_row(lines, i, date); // 対象関数の呼び出し。 } ); timer.start(); |
以上