我需要一些关于 ActionScript 3 中的异步事件的帮助。我正在编写一个简单的类,它有两个函数,这两个函数都返回字符串(逻辑和代码如下所述)。由于 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 }