ActionScript

Flex でsleepもどき

DBサーバに大量のリクエストを出すときなど、PHPのsleepみたいな関数がほしくなる。

でもFlexはイベントドリブン型の言語なのでそんな関数は無いし、もしなんとか自作しても、将来もまともに動く保障がない。

ネットで調べてみると、色々な人が挑戦しているようだ。中には空のwhileを使って処理待ち状態を作っている方もいる。まるでBasic時代のように。

待ち後の処理を関数にして、timerを使って呼び出す方法を考えてみた。

(ちなみに、呼び出し対象が引数を取り、TimerEventを受け取る必要の無い場合。それ以外は要修正)

var timer:Timer = new Timer(1000,1); // 一秒後に一回だけ実行。
timer.addEventListener(
	TimerEvent.TIMER,
	function(tevent:TimerEvent):void {
		add_price_row(lines, i, date); // 対象関数の呼び出し。
	}
);
timer.start();

以上

FlashBuilder4、PHPデータサービスのバグ

今まで、PHPデータサービスで複数フィールドのテーブルへの書き込み(Create)がどうしても出来なかった。次の方法で解決した。

  1. Builder4の「データとサービス」ペインでcreateクラスの入力型を適当に変更。
  2. createクラスを含むサービスのASファイルを保存(適当に編集し、戻して保存)。
  3. 「データとサービス」ペインでcreateクラスの入力型を元にもどす。
  4. createクラスを含むサービスのASファイルを保存(適当に編集し、戻して保存)。

バグのような気がする。

Top