Здравствуйте. Есть у меня такая схема:
Код AS3:
package
{
import flash.display.Sprite;
import vk.APIConnection;
public class main extends Sprite {
public function main():void {
new Boot ;
if (stage){
init();
}else{
addEventListener(Event.ADDED_TO_STAGE,init);
}
}
private function init(e:Event=null):void
{
var flashVars:Object = stage.loaderInfo.parameters as Object;
var VK:APIConnection = new APIConnection(flashVars);
function ErrorFnc(response:Object):void
{
trace("Ошибка: " + response.error_msg + "\n");
}
function ReadAccess(response:Object):String
{
var sender:String = "nothing";
if (response != null)
{
sender = String(response);
}
else
{
//читаем переменнную в 20-ом слоте переменных VK:
VK.api("getVariable",{key:20},ReadAccess,ErrorFnc);
}
return 0;
}
<font color="DarkOrange">//и вот...
trace(ReadAccess(null));font>
}
}
}
Выводится в трэйсе "nothing". Цель в том, что бы процедура сработала как рекурсия, и не возвращала значений, пока не считает данные. Следовательно при ПЕРВОМ же запросе возвращала прочитанное значение.
И это проблема вообще концептуальна для меня не только в приложениях VK ) -
"Как дождаться данных?"
Спасибо )