WEB开发网
开发学院图形图像Flash Flex扩展HTTPService简化调用接口定义 阅读

Flex扩展HTTPService简化调用接口定义

 2009-02-11 11:57:16 来源:WEB开发网   
核心提示: HttpBase的定义该HttpBase是针对本人现有需求所制定的,所以并不一定适合你的需要;但作为一个参考publicclass HttpBase{ private var mService:HTTPService=null private var mResult:Function=nu

HttpBase的定义

该HttpBase是针对本人现有需求所制定的,所以并不一定适合你的需要;但作为一个参考

public class HttpBase
  {
    private var mService:HTTPService=null
    private var mResult:Function=null;
    private var mFristSearch:Boolean=false;
    public var _TimeSlice:Date;
    public function GetService():HTTPService
    {
      return mService;
    }
    public function HttpBase(api:String,method:String="get",result:Function=null)
    {
      mService = new HTTPService();
      mService.useProxy=false;
      mService.url=GetServiceUrl()+api;
      mService.resultFormat="e4x";
      mService.method=method;
      mService.addEventListener(FaultEvent.FAULT,HFSoftCoreFun.onFault);
      mService.addEventListener(ResultEvent.RESULT,OnResult);
      mResult=result;
    }
    protected virtual function GetServiceUrl():String
    {
      return "service.aspx?do=";
    }
    private function OnResult(event:ResultEvent)
    {
      var data:XML=XML(event.result);
      var iserror:Boolean=HFSoftFx.HFSoftCoreFun.IsError(data);
      if(mResult!=null)
       mResult(data,iserror);
    }
    public function get FirstSearch():Boolean
    {
      return mFristSearch;
    }
    public function Open(firstSearch:Boolean=false)
    {
      _TimeSlice =new Date();
      mFristSearch=firstSearch;
      mService.send(this);
    }
  
  }
代码也非常简单,就是在httpservice的基础上包装一下。其实了解AS的朋友应该可以看得出对于动态语言来说直接把HttpBase定义成动态类,然后直接设置成员提交这样就省下每个交互都定义一个类型出来这么麻烦。但作为一个服务接口调用成员越明确越好,因为程序是要经常修改和维护的;不过是不是要这样做就是团队约束规范问题了。

上一页  1 2 3 

Tags:Flex 扩展 HTTPService

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接