Задача: общение с web-сервером из приложения на Flex 3.
После беглого ознакомления с объектом mx.rpc.http.HTTPService сразу возникла мысль, что асинхронность мне не очень-то нужна. В ситуации когда:
делаем что-то
забираем с сервера нечто по HTTP
делаем еще что-то
делаем еще что-то
синхронный вызов этого самого сервиса был бы значительно удобнее. Но, увы, такой вариант запроса не реализован в Flex (или я не углядел, но это вряд-ли). Сначала была идея перед каждым вызовом присваивать новые хендлеры на Result.FAULT и Result.RESULT, но потом я вспомнил про наличие mx:states и мне пришло в голову реализовать желаемое следующим образом: организовать свой класс, в котором объявить хендлеры FAULT и RESULT, этот класс реализует свой метод send, аргументами к которому идут собственно URL и имя стейта, в который переходит приложение по вызову хендлера RESULT:
public function send(newState: String, url: String): void
{
httpReq.url = url;
stateToReach = newState;
httpReq.send();
}
где httpReq - объект mx.rpc.http.HTTPService, а stateToReach - поле нашего класса, значение которого будет присвоено Application.application.currentState в хендлере Result.RESULT.
0 коммент.:
Отправить комментарий