private function pro():int {
gateway.connect('http://10.0.2.2:5000/gateway');
var id:int = 0;
function ret_pr(result:*):int {
return result
}
var responder:Responder = new Responder(ret_pr);
gateway.call('sx.xj', responder);
return id
}
Этот код никогда не даст вам того, что вы хотите. Вам нужно использовать правильную функцию результата. Возвращаемое значение ответчика анонимной функции не будет использоваться окружающей функцией. В этом случае он всегда будет возвращать 0. Здесь вы имеете дело с асинхронным вызовом, и ваша логика должна обрабатывать его соответствующим образом.
private function pro():void {
gateway.connect('http://10.0.2.2:5000/gateway');
var responder:Responder = new Responder(handleResponse);
gateway.call('sx.xj', responder);
}
private function handleResponse(result:*):void
{
var event:MyCustomNotificationEvent = new MyCustomNotificationEvent(
MyCustomNotificationEvent.RESULTS_RECEIVED, result);
dispatchEvent(event);
//a listener responds to this and does work on your result
//or maybe here you add the result to an array, or some other
//mechanism
}
Смысл использования аноновых функций / замыканий не даст вам своего рода псевдосинхронное поведение.