私が過去に行った 1 つの方法は、グローバル整数を使用して、実行中の Web サービスに基づいて値を増減することです。カウンターが 0 のときは読み込み中のテキストを非表示にし、0 より大きいときは読み込み中のテキストを表示します。これを簡略化したバージョンを次に示します。
<mx:Application>
<mx:Script>
[Bindable]public var ws_count:int = 0;
</mx:Script>
<mx:Label text = "loading..." visible="{ws_count > 0}" />
</mx:Application>
次に、グローバル カウンターを制御するための小さなヘルパー クラスを用意しました。
package ws {
import mx.core.Application;
public class WSCounter {
public static function sent():void {
Application.application.ws_count += 1;
}
public static function receive():void {
Application.application.ws_count -= 1;
}
}
}
あとは、Web サービスが呼び出されたときにヘルパー関数を呼び出すだけです...例:
import ws.WSCounter;
import mx.rpc.http.HTTPService;
var srv:HTTPService = new HTTPService();
srv.url = "http://localhost/service.py";
srv.addEventListener(ResultEvent.RESULT,function(event:ResultEvent):void {
WSCounter.receive();
});
srv.send();
WSCounter.sent();
サービスが実行されているかどうかを検出するための何らかのタイプのフックがあるとあなたが言ったように、私はいつもこれを行うためのより良い方法があると思っていました...私はこの投稿で他の応答を楽しみにしています...