Желаю изобразить более-менее универсальную функцию для обмена данными с PHP:

Код:
//отправлять уже готовую строку типа " name='вася'&pwd='***' "
//script_name - имя скрипта, для обработки данных
//post_data - данные для отправки в скрипт в GET|POST формате
public function php_call(script_name:String, post_data:String)
{
var var_load:URLLoader = new URLLoader ;
//переменную URL_request связываем с файлом скрипта,
//в который мы пошлем данные для обработки
var URL_request:URLRequest = new URLRequest(script_name);
//метод передачи данных - POST
URL_request.method = URLRequestMethod.POST;
//записываем отправляемые данные
var URL_vars:URLVariables = new URLVariables(post_data);
URL_vars.dataFormat = URLLoaderDataFormat.VARIABLES;
URL_request.data = URL_vars;
var_load.load( URL_request );
var_load.addEventListener(Event.COMPLETE, receive_response);
function receive_response(e:Event):void
{
var loader:URLLoader = URLLoader(e.target);
var script_data = new URLVariables(loader.data);
//как сделать так, чтобы script_data попала в функцию php_call уже ПОСЛЕ получения данных (для обработки и занесения в return)?
}
return ...
//преобразование полученного ответа в нечто читабельное :Р
//например в ассоциативный массив, вида:
//<имя переменной>:<значение переменной>
}
как сделать так, чтобы script_data из receive_response попала в функцию php_call уже ПОСЛЕ получения данных (для обработки и занесения в return)?
я понимаю, что проблема в асинхронности, но есть ли возможность сделать так, чтобы обязательно скрипт дожидался получения данных?
буду признателен за указание - в какую сторону копать примерно
(я только начал изучать AS3 потому прошу не судить строго)