То, что вы отправляете запросы в определенном порядке, не означает, что ответы будут возвращаться в этом порядке. HTTPService вызовы являются асинхронными. Например, предположим, что следующие три запроса отправляются одновременно:
Запрос 1 (обработка на сервере занимает 4 секунды)
Запрос 2 (обработка занимает 0,5 секунды)
Запрос 3 (обработка занимает 2 секунды)
Предполагая, что скорость сети постоянна (и многие другие проблемы среды постоянны), вы сначала получите ответ на запрос 2, затем запрос 3, затем запрос 1.
Если вам нужно вызвать их по порядку, вы должны сделать что-то вроде этого:
protected function doWork():void {
request1.send();
}
protected function onRequest1Complete(e:ResultEvent):void {
request2.send();
}
protected function onRequest2Complete(e:ResultEvent):void {
request3.send();
}
protected function onRequest3Complete(e:ResultEvent):void {
// you are done at this point
}
...
<mx:HTTPService id="request1" url="http://example.com/service1" result="onRequest1Complete(event)" />
<mx:HTTPService id="request2" url="http://example.com/service2" result="onRequest2Complete(event)" />
<mx:HTTPService id="request3" url="http://example.com/service3" result="onRequest3Complete(event)" />
Надеюсь, это поможет.