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
}
anon関数/クロージャーを使用しているという点は、ある種の疑似同期動作を提供することにはなりません。