ActionScript 3 の非同期イベントについて少し助けが必要です。2 つの関数を持つ単純なクラスを作成しています。どちらも文字列を返します (ロジックとコードは以下で概説されています)。AS3 HTTPService の非同期性により、結果がサービスから返される前に常に戻り値の行に到達し、空の文字列が生成されます。この関数に、値を返す前に応答を待機させる何らかのタイプのロジックまたはステートメントを含めることは可能ですか? このタイプのものを処理するフレームワークはありますか?
- 通話サービス
- JSON の結果を解析し、対象の値を分離します
戻り値
public function geocodeLocation(address:String):Point { //call Google Maps API Geocode service directly over HTTP var httpService:HTTPService = new HTTPService; httpService.useProxy = false; httpService.url = //"URL WILL GO HERE"; httpService.method = HTTPRequestMessage.GET_METHOD; var asyncToken : AsyncToken = httpService.send(); asyncToken.addResponder( new AsyncResponder( onResult, onFault)); function onResult( e : ResultEvent, token : Object = null ) : void { //parse JSON and get value, logic not implemented yet var jsonValue:String="" } function onFault( info : Object, token : Object = null ) : void { Alert.show(info.toString()); } return jsonValue; //line reached before onResult fires }