Flex和后台交互数据最重要是通过异步传输的HttpSerivce/WebService组件。而高效率合理的异步传输数据是Flex开发中的核心,以下是HttpService的重用类,WebService类似。
实现类:
package com
{
import mx.rpc.events.ResultEvent;
import mx.rpc.http.HTTPService;
public class BaseHttpService
{
private var xmlService:HTTPService;
private var method:Function;
public function BaseHttpService()
{
}
public function getResult(xmlUrl:String, method:Function, postValue:Object=null):void
{
this.method=method;
xmlService=new HTTPService();
xmlService.method="post";
xmlService.useProxy=false;
xmlService.resultFormat=HTTPService.RESULT_FORMAT_XML;
xmlService.addEventListener("result", httpResult);
xmlService.url=xmlUrl;
xmlService.send(postValue);
}
private function httpResult(event:ResultEvent):void
{
solveResult(event.result);
}
protected function solveResult(value:Object):void
{
method.call(this, value);
}
}
以上代码还有一个弊端,就是连续请求两次,由于HttpService异步传输的特性,会发生两种异常情况,如:
条件:A请求函数在B请求函数前一句执行。
结果:
1.A回调数据还没返回,B回调函数已覆盖A回调函数处理稍后返回的A回调数据;
2.若A回调返回数据量过大,也就是响应时间过长,B回调数据会先于A回调数据返回,造成A回调函数处理B回调数据的情况。
这种问题的解决方案也不是很难,用Object的key/value把回调函数装入,在回调中在用key取出value操作数据,难点是如何区分回调数据,event.result应该也有id标识,用这个应该可以。
若第二次请求依赖于第一次请求,那就只能等第一次请求完成,再执行第二次请求了。
分享到:
相关推荐
他们详细介绍了Flex与Spring之间的通信机制,如HTTPService、AMF(Action Message Format)和BlazeDS等中间件的使用,这些技术允许数据在Flex客户端和Spring服务器之间高效地传输。 首先,对于Flex部分,读者将学习...
学习如何使用HTTPService、WebService或AMF(Action Message Format)进行远程调用,以及如何处理返回的数据,是Flex开发的重要环节。 8. **图形和动画**:Flex支持矢量图形和动画,可以通过DisplayObject容器和...
4. **Flex组件模型**:Flex组件是可重用的UI元素,如Button、TextArea、Canvas等。这些组件基于Flex组件模型,允许自定义样式、行为和功能。开发者可以通过继承和扩展已有组件来创建自己的定制组件。 5. **数据绑定...
8. 模块化和重用:Flex支持组件和模块的概念,这有助于代码的组织和重用。在FlickrRIA中,可能会看到如何创建可复用的组件,比如一个用于显示图片的自定义组件。 9. 状态管理:Flex提供了状态管理功能,使得UI可以...
同时,Flex应用的可扩展性和模块化设计也是其亮点,通过组件化开发,可以将复杂的应用拆解为独立、可复用的部分,提高代码的维护性和重用性。 总的来说,“my flex example2.0”是初涉Flex开发的作者一次成功的尝试...
在Flex4中,我们可以使用HTTPService或WebService组件来调用Asp.net发布的WebService接口。 具体步骤如下: 1. **创建WebService**:在Asp.net环境中,开发者需要创建一个WebService项目,编写.asmx文件,定义Web...
7. **模块化开发**:Flex支持模块化,可以将大型应用分解为小的可重用模块。源码可能会展示如何创建和加载模块,以优化应用性能和组织结构。 8. **国际化和本地化**:Flex提供了强大的国际化支持。通过源码,你可以...
4. **组件库**:Flex包含了一系列预定义的可重用UI组件,如按钮、文本输入框、列表视图等,这些组件可以方便地拖放到设计视图中,并通过MXML或ActionScript进行配置和定制。 5. **数据绑定**:Flex支持双向数据绑定...
- **使用HTTPService加载外部数据**:通过网络请求获取远程数据,增强应用的动态性和实时性。 ### 结论 Flex3提供了强大且灵活的工具集,使得开发者能够快速构建高性能的RIA。从简单的用户界面到复杂的数据处理,...
在Flex开发中,模块化是一种重要的设计原则,它有助于提高代码的可维护性、可扩展性和重用性。模块化允许我们将一个大型的应用程序分解为多个独立的、可管理的部分,每个部分称为一个模块。这样做不仅简化了开发过程...
具体实现上,Flex3的客户端通过HTTPService或WebService组件向Java服务器发起请求。这些组件允许Flex与Java之间进行异步通信,使用SOAP或RESTful协议传递数据。在接收到服务器的响应后,Flex会更新界面,显示新的...
4. 模块化设计:将Spring MVC和Flex应用拆分为可重用的模块,便于维护和扩展。 5. 性能监控:定期评估应用性能,及时优化瓶颈。 总结,Spring MVC、BlazeDS和Flex的结合,为开发人员提供了一套强大的工具,用于构建...
SDK中的Flex Framework包含了一系列可重用的UI组件,如按钮、列表、面板等,这些组件使得开发者能够快速构建用户界面。ActionScript3.0是Flex的主要编程语言,它是基于ECMAScript的一个面向对象的脚本语言,具有更...
7. **模块化开发**:如何使用Flex模块(Module)来组织大型项目,实现代码重用和独立加载。 通过这些代码示例,开发者可以深入理解Flex 4.0的架构和特性,从而提升自己的开发技能。在实际项目中,可以借鉴这些代码...
在传统的编程模式下,一个类可能会直接创建它所依赖的对象的实例,这种方式会导致类间耦合度较高,不利于代码的重用和测试。依赖注入通过由外部容器或框架负责创建依赖对象,并将这些对象传递给需要它们的类,从而...
在Flex中,我们可以使用AMF(Action Message Format)或HTTPService组件来发送和接收数据。AMF提供了高效的数据传输,而HTTPService则支持RESTful API调用。通过这个解决方案,你可以学习到如何配置服务代理,处理...