Ожидает ли AS3 выполнения каждой строки кода в функции, прежде чем перейти к следующей строке? - PullRequest
0 голосов
/ 30 июня 2011

Я пытаюсь отправить событие, но не уверен, когда мне следует это сделать, чтобы получить правильные результаты.Первое событие submitClicked находится в нужном месте и прекрасно работает.Тем не менее, второе событие «dataReady» может показаться проблемой.

Мне нужно отправить его после установки this.compiledFormData.Ожидает ли AS3 выполнения каждой строки кода в функции, прежде чем перейти к следующей строке?

    // --------------------------------------------------------------------
    public function submitForm()
    {   
        //dispatch an event
        var cEvt:FormRendererEvent = new FormRendererEvent( "submitClicked" );
        cEvt.customMessage = "Started Submitting Form Data";
        dispatchEvent(cEvt);

        this.compiledFormData = JSON.encode(this.compileFormData());

        var cEvt:FormRendererEvent = new FormRendererEvent( "dataReady" );
        cEvt.customMessage = "Data is ready to be used";
        dispatchEvent(cEvt);

    }//end function

Ответы [ 2 ]

2 голосов
/ 30 июня 2011

Да, в AS3 каждая строка должна быть завершена до запуска следующей строки. Когда вы отправляете события, они уходят и делают свое дело. Таким образом, ваш «основной» код может завершиться, а отправленные события могут все еще обрабатываться.

0 голосов
/ 30 июня 2011

Каждая строка кода выполняется последовательно, да, но от того, какой API вы вызываете, зависит от того, какой API-интерфейс вызывает что-то асинхронное в реализации вызванного API.

В этом случае JSON.encode является синхронной операцией и поэтому полностью завершится до выполнения следующей строки кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...