quote:
package services
{
import mx.collections.ArrayCollection;
import mx.rpc.http.HTTPService;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
public class RSSService implements IService
{
private var _feeds:ArrayCollection;
private var _titleChannel:String;
private var _rssService:HTTPService;
public function RSSService(url:String) {
_rssService= new HTTPService();
_rssService.url= url;
_rssService.useProxy= false;
}
public function send():void {
_rssService.send();
_rssService.addEventListener(ResultEvent.RESULT, resultHandler);
_rssService.addEventListener(FaultEvent.FAULT, faultHandler);
}
private function resultHandler(event:ResultEvent):void {
_feeds= event.result.rss.channel.item;
_titleChannel= event.result.rss.channel.title;
}
private function faultHandler(event:FaultEvent):void {
}
public function getResult():Object {
if (_feeds == null) _rssService.send();
var result:Object= new Object();
result.feeds= _feeds;
result.titleChannel= _titleChannel;
return result;
}
}
}
quote:
[Bindable]
public var feed:ArrayCollection;
[Bindable]
public var titleChannel:String;
private function onConfirm():void {
var service:RSSService= new RSSService(rssUrl.selectedItem.data);
var obj:Object= service.getResult();
titleChannel= obj.titleChannel;
feed= obj.feeds;
currentState= 'reader';
}
quote:
Originally posted by: kbala.net@gmail.com
Hi,
it seems ti should work. thing is...you do not call getResult() immediately before resultHandler fires. So, make sure resultHandler fires and then call getResult().
Thanks
KBala
quote:
var service:RSSService= new RSSService(rssUrl.selectedItem.data);
service.send();
setTimeout(
function send():void {
var obj:Object= service.getResult();
titleChannel= obj.titleChannel;
feed= obj.feeds;
},
1000
);
North America
Europe, Middle East and Africa
Asia Pacific