Flex(というかFlash)においては、全ての通信機能は非同期に実行される。 サーバ側でJavaなり何なりを使って実装したメソッドを mx:RemoteObjectでブラウザ側から呼び出すと、即座に制御が戻って(平たい言葉で言えば)サーバとの通信はバックグラウンドで行われる。 そのためリモートメソッドの返り値を得るには、「返り値を受け取るためのイベント」(又はメソッドの実行で起こった例外を受け取るためのイベント)を拾って処理しなければならない。 非同期通信の経験がないプログラマによくある間違いが下記のようなコードである。 <!-- サーバ側で実装されているサービスを参照する RemoteObject --> <mx:RemoteObject id="svc" .../> : userInfo:Object = svc.getUserInfo(userId); このコードでは、サーバ側の