0
私はActionScript/Adobe Airでの作業を余儀なくされています。 Javaの背景から来ています。私がここで間違っていることを理解することはできません。誰かが助けてくれるかもしれません。基本的には、関数が返す関数を返します。XMLNode
が取得します。なぜこの変数を関数内から変更できないのですか?
public function getXmlWebpage(address:String):XMLNode {
var service:HTTPService = new HTTPService();
var xmlResult : XMLNode = null;
service.method = "GET";
service.url = address;
service.resultFormat = HTTPService.RESULT_FORMAT_XML;
function onResult(result:ResultEvent):void{
trace("status code " + result.statusCode);
var node : XMLNode = result.result as XMLNode;
trace("node has NS URI " + node.namespaceURI);
xmlResult = node;
}
function onFail(event:FaultEvent):void{
trace("fail function of getXmlWebpage called.");
Alert.show("error communicating with host " + event.fault.toString());
}
service.addEventListener(FaultEvent.FAULT, onFail);
service.addEventListener(ResultEvent.RESULT, onResult);
service.send(null);
trace("return value will be " + xmlResult)
return xmlResult;
}
しかし、ログが(はい、そのために)言う:私はここに
return value will be null
status code 200
node has NS URI http://www.w3.org/2005/Atom
何を得ていないのですか? xmlResult
をonResult
と変更できませんか?