Flex4: использование httpService в последовательных вызовах функций - PullRequest
1 голос
/ 15 марта 2011

У меня есть эта кнопка:

<s:Button includeIn="MeniuPrincipal" label="Descarcare Date" click="downloadLmData(event)"/>

и этот обработчик события клика:

protected function downloadLmData(event:MouseEvent):void
{
    downloadData('competenta', 'competente');
    downloadData('localitate', 'localitati');
}

Функция downloadData выглядит следующим образом:

private function downloadData(item:String, items:String):void 
{
    try {
        var colVar:String   = 'col' + cappitalize(items);

        this.status = "Descarcare date in curs...";

        this[colVar] = null;

        var service:HTTPService = new HTTPService();
        service.url = serverUrl + items + '/xml';
        service.resultFormat = "xml";
        service.method = "GET";
        service.addEventListener(ResultEvent.RESULT, addArguments(downloadDataComplete, [item, items]));
        service.send();
    } catch (error:Error) {
        errorHandler.defaultErrorHandler(error);
    }
}

Проблема в том, что все вызовы игнорируются, кроме первого. Существует ли какой-либо механизм «очереди», который позволял бы выполнять все вызовы?

Спасибо.

Ответы [ 2 ]

1 голос
/ 15 марта 2011

Вам нужно связать асинхронные вызовы. Смотрите эти 2 сообщения в блоге для реализации:

http://kuwamoto.org/2006/05/16/dealing-with-asynchronous-events-part-1/

http://kuwamoto.org/2006/05/16/dealing-with-asynchronous-events-part-2/

0 голосов
/ 16 марта 2011

Я скорее буду использовать шаблон наблюдателя. Самый простой способ.

...