Тема: [Вконтакте] getUserBalance, Api connection
Показать сообщение отдельно
Старый 30.03.2011, 22:08
carrotoff вне форума Посмотреть профиль Отправить личное сообщение для carrotoff Найти все сообщения от carrotoff
  № 6  
Ответить с цитированием
carrotoff
 
Аватар для carrotoff

Регистрация: May 2010
Сообщений: 543
ну в принципе я уже ответил на этот вопрос.
в данном случае для вас единственным сигналом, что пришел ответ для сервера, является срабатывание callback-функции.

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

пример callback'a

Код AS3:
//...
 
  myFunction(showMessage); // вызываем функцию myFunction, в параметре ссылка на callback
 
//...
 
private function myFunction(callback:Function){
   callback("Я вызываю callback"); // вызываем функцию переданную в качестве параметра
}
private function showMessage(msg:String):void{
   trace(msg);
}
Вот vk.api устроен по тому же принципу. Отправляете запрос на сервер VK, когда получаете ответ, вызывается функция, переданная параметром onComplete: Function в случае, если ответ нормальный, или onError:Function, если ответ содержит ошибку.

Чтобы понять что пришел ответ можно поступить примерно так:
Код AS3:
VK.api('getProfiles', {some_params}, onComplete, onError)
 
private function onComplete(data:Object){
  trace("Сервер прислал мне ответ");
  trace(data);
 
 // дальше разбираем ответ и продолжаем делать то, что нужно.
}
 
private function onError(data:Object){
  trace("Ошибка запроса. Вот ответ сервера");
  trace(data);
}
Всё, я, по-моему, написал максимально подробно. Если что-то опять не так, сформулируйте вопрос конкретнее