Показать сообщение отдельно
Старый 15.12.2006, 13:01
Elephant83 вне форума Посмотреть профиль Отправить личное сообщение для Elephant83 Посетить домашнюю страницу Elephant83 Найти все сообщения от Elephant83
  № 1  
Ответить с цитированием
Elephant83

Регистрация: Dec 2006
Сообщений: 1
По умолчанию Вебсервисы. Выполнить lastResult после send().

При нажатии на кнопку btnLogin, вызывается функция badLogin()
Код:
<mx:Button x="176" y="78" label="Login" id="btnLogin" click="{badLogin()}"/>
которая обращается к вебсервису wsLogin и вызывает его функцию validateUserAndPassword.
Код:
public function badLogin():void {
	wsLogin.validateUserAndPassword.send()
	if(wsLogin.validateUserAndPassword.lastResult == 0){
		this.currentState = "fogotPassword";
	}
}
Функция validateUserAndPassword возвращает число, и если оно равно нулю, устанавливается состояние fogotPassword.
Состояние fogotPassword устанавливается только при втором нажатии на кнопку и это связано с тем, что wsLogin.validateUserAndPassword.send() еще не успевает выполнить функцию, а мы уже начинаем считывать wsLogin.validateUserAndPassword.lastResult. Как бороться с такими вещами? Как заставить вызывать wsLogin.validateUserAndPassword.lastResult, только после того как предыдущая строка выполнится до конца?