![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Oct 2009
Сообщений: 4
|
Доброго времени суток,
Мне нужно проинициализировать ArrayCollection объектами, значения филдов которого получаются через СОАП запросы (функция getUdfValuePrj): for (var i:int=0; i < data.length; i++)
{
var task:Task=new Task();
task.laborio = getUdfValuePrj(data[i].id, LABORIOUSNESS);
}
tempTaskArray.addItem(task);
private function initWebServices(wsdl:String):void
{
_udfWs = new WebService();
_udfWs.wsdl = wsdl;
_udfWs.getTaskUDFValue.addEventListener("result",
getTaskUDFValueResult);
_udfWs.getTaskUDFValue.addEventListener("fault", handleFault);
_udfWs.loadWSDL();
}
Пытался сам что-то соображать, получилась такая ересь: private function getTaskUDFValueResult(event:ResultEvent):
{
_udfValue = event.result as String;
}
private function getUdfValuePrj (taskId:String, udfCaption:String):void
{
_udfValue = "Loading...";
_udfWs.getTaskUDFValue (taskId,udfCaption);
while (_udfValue == "Loading...")
{
}
return _udfValue;
}
|
|
|||||
|
Modus ponens
|
1. Читать справку:
http://livedocs.adobe.com/flex/3/lan...ebService.html 2. Загрузка в AS3 асинхронная. Соответственно, подписаться на события и обработать их. 3. Если использование фреймворка не является жизненной необходимостью, то лучше использовать URLLoader вместо WebService.
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Oct 2009
Сообщений: 4
|
1. Справку читал.
2. А вы мой код смотрели? Вообще-то я обрабатываю событие "result". Но код получается не очень адекватный. 3. А смысл? В любом случае для каждого параметра нужно ожидать событие окончания загрузки. |
|
|||||
|
Modus ponens
|
И где вы в спавке видели такой вариант ожидания ответа от сервера?
Цитата:
Цитата:
- этот класс не встраивается в SWF. (меньше размер файла) - его методы и свойства реализованы на C и не требуют компиляции при загрузке SWF. (быстрее работает)
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Oct 2009
Сообщений: 4
|
Цитата:
private function getTaskUDFValueResult(event:ResultEvent): { _udfValue = event.result as String; } Я нашел примеры, где осуществляется один запрос, а в обработчике мы просто инициализируем то, что надо, например так: Но что делать, когда таких запросов много? Как указать в моем случае в обработчике, что я хочу проинициализировать конкретный элемент списка tempTaskArray? |
|
|||||
|
Регистрация: Nov 2005
Сообщений: 1,058
|
Написать класс, который эти запросы будет выстраивать в очередь и знать с чем он в данный момент работает и для кого ждет данных.
|
|
|||||
|
.
|
Цитата:
Вариантов всего два: либо адрес назначения содержится в ответе, либо клиент знает куда распихивать пришедшие данные. |
|
|||||
|
Регистрация: Oct 2009
Сообщений: 4
|
Цитата:
|
![]() |
![]() |
Часовой пояс GMT +4, время: 21:04. |
|
|
« Предыдущая тема | Следующая тема » |
|
|