Синхронизация в ActionScript - PullRequest
0 голосов
/ 17 апреля 2011

Несмотря на все мои усилия, я не могу создать такой эффект синхронизации, который мне бы хотелось в ActionScript.Проблема заключается в том, что мне нужно сделать несколько внешних вызовов, чтобы получить различные фрагменты внешней информации в ответ на запрос пользователя, и способ размещения элементов на странице зависит от того, что возвращает каждый из этих внешних вызовов.Поэтому мне все равно, что все эти вызовы возвращаются асинхронно.Однако есть ли способ принудительной синхронизации в ActionScript, так что хотя бы вызов метода для окончательного размещения и размещения элементов на странице зависит от всех завершения моих вызовов?

1 Ответ

1 голос
/ 17 апреля 2011

Если я правильно понял вопрос, слушатели событий, вероятно, будут лучшим выбором. Большинство классов загрузчиков выдают сообщение Event.COMPLETE, когда они заканчивают делать все за кадром. Если бы вы написали эти внешние вызовы, было бы легко отправить полное событие в конце.

Поэтому, когда вы делаете все эти внешние вызовы, имейте функцию, которая слушает, когда эти вызовы завершены. Эта функция будет отслеживать, сколько было выполнено вызовов, и, когда не осталось ни одного запуска, продолжайте строить свой макет.

Грубый эскиз, чтобы объяснить ниже:

var numProcesses:int = 0;
slowthing.addEventListener(Event.COMPLETE,waitForSlowest);
numProcesses++;
slowthing.load();

quickThing.addEventListener(Event.COMPLETE,waitForSlowest);
numProcesses++;
quickthing.load();

function waitForSlowest(e:Event)
{
  numProcesses--;
  if(numProcesses == 0)
    finalizeLayout();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...