ActionScriptでHTTPServiceを使う
HTTPServiceをActionScriptで使うと結構オサレな感じでよくね?みたいなエントリを書く予定だったんだけど、なぜかコンパイルエラー。
HTTPServiceのActionScriptでを使う際Responderクラスを使うのが理由っぽい。
AsyncResponderで代用すると直った。
追記
原因はクラスのコンフリクトだった。ルートのMXMLで使うときは下記のようにすると解決。
token.addResponder(new mx.rpc.Responder(handleResult, handleFault));
HTTPServiceとかをASでさらっと使うのって、mxフレームワーク使いこなしてる感がしていいよね。
<?xml version=”1.0″ encoding=”utf-8″?>
<mx:Application xmlns:mx=“http://www.adobe.com/2006/mxml” layout=“absolute” applicationComplete=“init()”>
<mx:Script>
<![CDATA[
import mx.utils.ObjectUtil;
import mx.rpc.AsyncToken;
import mx.rpc.AsyncResponder;
import mx.rpc.http.HTTPService;
private function init():void
{
trace(‘init’);
var httpService:HTTPService = new HTTPService();
httpService.url = “http://blog.widgetown.com/tech”;
httpService.resultFormat = ‘e4x’;
var token:AsyncToken = httpService.send({feed:“rss2″});
//AsyncResponder のところをResponderとすると何故かコンパイルエラー
token.addResponder( new AsyncResponder(
function (result:Object, t:Object):void
{
trace(‘result’);
trace(httpService.lastResult..title.text());
}
,
function(fault:Object, t:Object):void
{
trace(‘fault’);
}
));
}
]]>
</mx:Script>
</mx:Application>
