![]() |
программная пауза не занимая арифметки для event`a...
Нужно изобразить программную паузу не "занимая" арифметику... т.е. чтобы сквозь паузу мог прорваться event к своему eventListner`y и сделать что нужно :)...
Смысл в том, что есть customRemoteObject от RemoteObject, в котором override flash_proxy function callProperty... вот там. нужно сделать ожидание, если ещё он занят чем-то предыдущим... f.e. Дергаем два, соответсвенно, нативных метода. ro.method1(); ro.method2(); method2 нельзя дергать пока method1 не получиться или не сломается что-то... с Timer`ом не получается что-то велосипеда. Реально вообще сие? |
почём такая трава?
|
хе, что именно в моем посте ганджубас? ;)
Асинхронность в данном случае противопоказана удаленной логике. Поэтому, нужен велосипед. |
Ганджубас у вас весь пост, совершенно очевидно. Особенно вставляет, когда читаешь вслух.
|
Господа, а к сути...?
Сам дурак, это конечно хорошо, очень желательно - почему. И что плохого в необходимости синхронного RPC? |
как я понимаю, вас ещё не отпустило.
из понятных фраз могу выделить "синхронного RPC", что по сути всё равно является бредом. |
Прекратите разговаривать с флешем, он на вас дурно влияет.
Внятно опишите проблему, если сможете, конечно. |
Клиент
- Flex app - AMF3 - RemoteObject Сервер - PHP - Класс с двумя методами method1, method2 - method1 - делает 1+1 и сохраняет в базе. - method2 - берет из базы значение где должен быть результат 1+1 и прибавляет 10. Средствами RemoteObject делаем вызовы: var ro: RemoteObject = new RemoteObject('MyDestination'); ro.source = 'My.Class'; ro.addEventListner(...); ... ro.method1(); ro.method2(); Методы выполняются асинхронно... Результатом будем event упавший как снег на голову. И совсем не факт, что метод2 на сервере выполнится за методом1 и сохранится логика. Нужны синхронные вызовы. Пришел результат от первого, вызвали второй и т.п. Старался. |
Перепишите RemoteObject, все вызваные методы ставьте в очередь и по подтверждению сервера выполняйте следующий метод.
з.Ы. Лучше бы постарались сразу. |
Я вам пример приведу:
Есть класс Alarm. У него есть set метод setAlarm(hh:Number,mm:number). и есть класс AlarmEvent. Ситуция похожа - мы хотим после наступления события (звонок будильника) что-то сделать. И что же мы делаем? А мы вешаем евент и ждем пока будильник зазвонит и потом выполняем свои операции. |
| Часовой пояс GMT +4, время: 01:00. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.