Один из способов, которыми я занимался в прошлом, - это иметь глобальное целое число и увеличивать / уменьшать значение в зависимости от запущенных веб-сервисов. Когда счетчик был равен 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;
}
}
}
Тогда все, что нужно сделать, это вызвать вспомогательную функцию при вызове веб-службы ... например:
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();
Я всегда думал, что есть лучший способ сделать это, как вы сказали, есть какой-то тип хука, чтобы определить, работает ли служба ... Я с нетерпением жду других ответов в этом посте ...